echarts做饼图
今天记录下echarts做饼图


父组件
<el-card style="height:600px ;margin-top:20px" v-loading="cardFalg">
<pieEcharts
:chartData="VersionList.data"
:title="VersionList.title"
></pieEcharts>
</el-card>
上面是dom部分 和引入dom组件
VersionList: {
title: '端-版本分布',
data: []
}
上面这部分是data里面定义的数据 下面就是请求到的数据
.then(res => {
if (res.Status == 1) {
const AndroidList = Object.keys(res.Content.Android).map(item => {
return { name: `Android-${item}`, value: res.Content.Android[item] }
})
const iOSList = Object.keys(res.Content.iOS).map(item => {
return { name: `iOS-${item}`, value: res.Content.iOS[item] }
})
const pcList = Object.keys(res.Content.pc).map(item => {
return { name: `pc-${item}`, value: res.Content.pc[item] }
})
this.VersionList.data = [...AndroidList, ...iOSList, ...pcList]
}
this.cardFalg = false
})
随后跟大家看下返回数据的list

我们打印下Versionlist.data合成的数据格式为什么是name和value必须这样的格式 因为echarts官网的数据格式就是这样 不然数据无法取用

我们看下echarts官网的数据格式例子

我们再看一下子组件echarts实例的组件代码一次性贴完
<template>
<div>
<div class="echarts" style="height:500px;" ref="echarts"></div>
<div style="margin-top:-254px"><empty v-show="show"></empty></div>
</div>
</template> <script>
import echarts from 'echarts'
import empty from './empty' export default {
components: {
empty
},
props: {
chartData: {
type: Array,
default: () => []
},
title: String,
VersionListshowloading: String
},
data() {
return {
chart: null,
myChart: null,
option: {}
}
},
computed: {
show() {
return this.chartData.length === 0
}
},
watch: {
chartData(newV, oldV) {
if (newV.length > 0) {
this.draw()
}
}
},
methods: {
draw() {
this.myChart = null
this.chart = this.$refs.echarts
this.chart.style.height = 500 + 'px'
this.myChart = echarts.init(this.chart)
this.option = {
title: {
text: this.title,
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: this.VersionListshowloading
? '{a} <br/>{b} : {c} ({d}%)'
: '{a} <br/>{b} 人数: {c} ({d}%)'
},
series: [
{
name: this.title,
type: 'pie',
radius: '50%',
data: this.chartData,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
this.myChart.setOption(this.option)
this.$nextTick(() => {
window.addEventListener('resize', () => {
this.myChart.resize()
})
})
}
}
}
</script> <style lang="scss" scoped></style>
贴图跟大家解释吧


下面还有几句就不用解释了 大家应该都懂
看下tooltip

echarts做饼图的更多相关文章
- echarts标准饼图(一)——基本配置demo
echarts标准饼图解读共分为四部分, 一.基本配置demo 二.标题(title)配置 三.提示框(tooltip)配置 四.图例(legend)配置 五.系列列表(series )配置 下面是一 ...
- ECharts 环形饼图 动态获取json数据
ECharts 环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...
- echarts中饼图显示百分比
通过echarts制作饼图,需要通过鼠标移动到对应的扇形才能才看数值和百分比. 解决这个问题参考的是将鼠标移动到扇形上的显示方法: tooltip : { trigger: ' ...
- 24、echarts做报表
1.今天就来讲一讲echarts的使用 使用步骤 (1)首先需要下载包echarts.js,然后引入该包, <!DOCTYPE html> <html> <header& ...
- echarts标准饼图解读(一)——提示框(tooltip)配置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Echarts 解决饼图文字过长重叠的问题
之前在网上查找了很多关于解决饼图文字描述过长导致重叠的问题,找了很多一直没有一个合适的解决方案,最后自己只能花时间研究echarts文档,功夫不负有心人,终于解决了文字重叠展示不全等问题. 废话不多说 ...
- echarts圆饼图设置默认选中项并在中间显示文字
效果: 代码: var myChart = echarts.init(document.getElementById('quanshi-echarts-two')); option = { grid: ...
- echarts做飞线图
先上图,要不感觉没有说服力: 飞线图应该是大屏中很常见的一种了,通常你可以很轻易的用datav做一个飞线图,而且datav做的大屏逼格真的很高,本身也是开源免费的项目,开箱即用,上手简单……行了回归正 ...
- echarts实现饼图及横向柱状图的绘制
项目中需要绘制饼图,因此简单学习了下echarts的基本使用.head中引入js文件: <script src="/static/frame/echarts/echarts.min.j ...
- Qt+ECharts开发笔记(四):ECharts的饼图介绍、基础使用和Qt封装百分比图Demo
前言 前一篇介绍了横向柱图图.本篇将介绍基础饼图使用,并将其封装一层Qt. 本篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口. Demo演示 ...
随机推荐
- el-row el-col 的点击事件@click 没反应
el-col 是vue封装的组件,不支持原生事件的触发.要想触发事件需要加修饰符".native" 无效果: <el-col :span="4" @cli ...
- MUI-拿到版本名称和版本code
场景: 一般App发布了新版本之后,都会提示用户去更新.这就需要我们获取App的当前版本号与后台存储的版本号做对比来判断是否需要更新. 获取版本名称和版本code: 打开manifest.json文件 ...
- JavaIDEA配置JDBC数据库连接+可视化页面
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 0X01 ...
- 力扣197(MySQL)-上升的温度(简单)
题目: 表: Weather 编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id . 返回结果 不要求顺序 . 查询结果格式如下例. 解题思路: 方法一:使用窗口函数la ...
- 【pytorch学习】之概率
6 概率 简单地说,机器学习就是做出预测.根据病人的临床病史,我们可能想预测他们在下一年心脏病发作的概率.在飞机喷气发动机的异常检测中,我们想要评估一组发动机读数为正常运行情况的概率有多大.在强化学习 ...
- PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能
简介:2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 20 ...
- 同为博客,不同风格 ——Hexo另类搭建
简介:通过阿里云云开发平台快速由Hexo创建赛博朋克风格的博客. 一 .通过云开发平台快速创建初始化应用 1.创建相关应用模版请参考链接:Hexo博客框架-轻量.一令部署 2.完成创建后就可以在g ...
- [ML] 科学编程语言 Octave 简单操作
octave 是和 matlab 类似的软件,可以方便的进行矩阵计算.图形绘图. matlab 收费,octave 是 gnu 开源软件. Mac 安装: $ brew install octave ...
- [Ethereum] Gas Station Network (GSN) eip-1613 与 Gas Relay Network (GRN) eip-1077
在 Ethereum dapp 中,任何涉及状态改动的交易都需要消耗 Gas,这限制了很多没有钱包或者 ETH 的用户对 dapp 的采用. 理念 让非以太用户能够访问智能合约 (如dapps),允许 ...
- three.js实现相机碰撞,相机不穿墙壁、物体
大家好,本文实现了相机碰撞检测,使相机不穿墙壁.物体,并给出了思路和代码,感谢大家~ 关键词:数字孪生.three.js.Web3D.WebGL.相机碰撞.游戏相机 我正在承接Web3D数字孪生项目, ...