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演示 ...
随机推荐
- 阿里云 MSE 支持 Go 语言流量防护
简介: OpenSergo 开源项目联合 Sentinel 项目,正在制定.完善限流降级标准,方便不同语言应用通过统一控制面来实现统一的微服务治理.阿里云微服务引擎(MSE)也会逐步支持 OpenSe ...
- Arthas 初探--安装初步适用
简介: 由于在项目中遇到一种情况,某段代码在进行单元测试和在 tomcat 容器中运行的性能相差数百倍,因此需要分析在不同环境下某个方法执行的具体时间,从而确定问题.Arthas 可以做到无侵入的监控 ...
- 带你体验云原生场景下 Serverless 应用编程模型
简介: 阿里云 Knative 基于 ASK 之上,在完全兼容社区 Knaitve 的同时对 FC.ECI 工作负载进行统一应用编排,支持事件驱动.自动弹性,为您提供统一的 Serverless 应 ...
- K8s控制器---DaemonSet控制器(12)
一.DaemonSet控制器:概念.原理解读 1.1 DaemonSet概述 DaemonSet 控制器能够确保 k8s 集群所有的节点都运行一个相同的 pod 副本,当向 k8s 集群中增加 nod ...
- RT-Thread 时钟管理
一.时钟节拍 任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如线程的延时.线程的时间片轮转调度以及定时器超时等.时钟节拍是特定的周期性中断,这个中断可以看做是系统心跳,中断之间 ...
- 012_DRC检查与处理
Check entire design:DRC检查整个原理图: Check Selection:DRC检查选择的部分电路: Use occurrences:选择所有事件进行检查: Use instan ...
- SqlServer使用总结
-- 新增主键,系统随机取名 ALTER TABLE "T_CS1" ADD PRIMARY KEY CLUSTERED ("ID1", "ID2&q ...
- Radius 现在是云原生计算基金会(CNCF)的沙箱项目
在数字化时代,云原生计算技术逐渐成为企业转型的关键.2024-04-25,备受瞩目的开源项目 Radius 已正式加入云原生计算基金会(CNCF)的沙箱项目![Sandbox] Radius · Is ...
- 多个docker容器如何共享网络
目录 多个docker容器如何共享网络 一.创建共享网络 二.docker-compose 启动容器共享网络 参考文档: 多个docker容器如何共享网络 一.创建共享网络 无论哪种方式,第一步都是创 ...
- 远程控制软件 Teamviewer、Splashtop、向日葵哪个好用
编辑切换为居中 添加图片注释,不超过 140 字(可选) 好用的远程控制软件,我一般只推荐这三个经典品牌: Teamviewer.Splashtop.向日葵. Teamviewer 来自德国,妥妥 ...