实现效果:

实现原理:图层的叠加

(1)多个环形图的叠加

(2)环形图和油表图的嵌套

代码:

        let _that = thismyChart = _that.$echarts.init(document.getElementById(this.pieId))let data = [{value: 10, name: '香蕉'}, {value: 20, name: '西红柿'}, {value: 30, name: '牛奶'}]let subData = [{value: 30, name: '果汁'}, {value: 50, name: '奶昔'}, {value: 80, name: '沙冰'}]let legendData = datamyChart.setOption({color: ['#ed0a46', '#ff8800', '#ffe05a'],title: {text: '',subtext: '',textStyle: {color: '#f2f2f2',fontSize: 12,align: 'center'},subtextStyle: {fontSize: 14,color: ['#fff'],align: 'center'},x: '76%',y: 'center',textAlign: 'center'},grid: {top: 10,bottom: 10,left: 100,right: '10%'},legend: {orient: 'vertical',top: 'middle',x: 'left',right: '10%',selectedMode: false,icon: 'roundRect',data: legendData,backgroundColor: 'rgba(0,182,255,0.10)',borderWidth: 1,borderRadius: 2,borderColor: '#00567D',formatter: function (name) { // 用来格式化图例文本,支持字符串模板和回调函数两种形式。模板变量为图例名称 {name}var arr = []var index = 0var total = 0for (var i = 0; i < legendData.length; i++) {total += legendData[i].valueif (legendData[i].name == name) {index = i}}arr.push('{name|' + name + '}','{precent|' + (((legendData[index].value == 0 ? 100 : legendData[index].value) / (total == 0 ? 100 : total)) * 100).toFixed(1) + '%}','{value|' + legendData[index].value + '}')return arr.join('')},textStyle: {color: '#FFFFFF',fontSize: 14,rich: {name: {align: 'left',color: '#fff',width: 160},precent: {align: 'left',color: '#fff',width: 55,padding: [0, 5, 0, 10]},value: {align: 'left',color: '#fff',width: 60}}}},series: [// 主要展示层的{radius: ['40%', '60%'],center: ['77%', '50%'],type: 'pie',label: {normal: {show: false,formatter: '{c}%',textStyle: {fontSize: 30},position: 'center'},emphasis: {show: false}},markPoint: {label: {show: false}},labelLine: {normal: {show: false,length: 30,length2: 55},emphasis: {show: false}},name: '',data: data},{name: '',type: 'gauge',center: ['77%', '50%'],radius: '95%',startAngle: 0,endAngle: 359.9,splitNumber: 60,hoverAnimation: true,axisTick: {show: false},splitLine: {length: 20,lineStyle: {width: 7,color: '#001a30'}},title: {show: false},axisLabel: {show: false},pointer: {show: false},axisLine: {lineStyle: {opacity: 0}},detail: {show: false},data: data},{name: '',type: 'pie',radius: ['76%', '95%'],center: ['77%', '50%'],silent: true,z: 0,zlevel: 0,showVal: true,label: {normal: {show: false,position: 'center'}},itemStyle: {normal: {// 定制显示(按顺序)color: function (params) {var colorList = ['#4d77ff', '#00a477', '#6ef2ff', '#6ef2ff', '#0093ff', '#544bfd', '#00cbd5','#00c2ff', '#17d180', '#34e7a7', '#0067f9', '#9d4afd', '#4d77ff']return colorList[params.dataIndex]}}},data: subData}]})$(window).resize(function () {myChart.resize()})

echarts实现带光圈的环形图相关推荐

  1. vue 使用echarts实现3D饼图和环形图

    记录一下echarts实现3d饼图和环形图功能## 标题 实现效果 首先第一步安装echarts和echarts-gl npm install echarts echarts-gl安装最新版本可能会有 ...

  2. Echarts之带箭头的折线图

    需求: 鼠标移入: 1.容器: <div id="line" style="width: 700px; height: 380px; background: rgb ...

  3. echarts 环形图中间添加html,echarts配置一个中间显示文字的环形图

    先贴一张效果图 1.导包 我没有用什么框架,直接引入echarts.min.js文件,代码如下: 注意这样引入不要放在header标签里,会阻塞html渲染,导致报错. 2.给echarts一个盒子 ...

  4. echarts3d饼图,环形图(包含透明效果)

    效果图: 饼图: 环形图: 带透明度的环形图: 安装echarts "echarts":"^5.1.2" "echarts-gl":&quo ...

  5. 【ECharts】环形图、饼状图

    目录 color设置的颜色 环形渐变色 圆环中间显示文字 悬浮显示中间文字 悬浮显示中间文字,默认显示第一个 循环高亮饼图块 label文字过长重叠 label和饼图一致 label展示位置 内容为0 ...

  6. Echarts环形图设置空数据样式

    需求背景 由于最近的需求涉及到图表的展示,所以引入Echarts来渲染图表,但是问题也随之而来了,仔细阅读过文档后发现,Echarts对于环形图并没有能够设置默认样式的地方,对于空数据,界面直接就是空 ...

  7. 修改echarts环形图的牵引线及文字位置

    修改echarts环形图的牵引线及文字位置,下面代码及效果不仅如此,也包含了其它的效果哦.有问题可以留言. 根据echarts官方示例修改效果: 官方示例图: 修改效果图: 直接上代码:其它不多说. ...

  8. ECharts 之 环形图

    上一篇文章写了堆叠柱状图的用法,本文写的是环形图的方法,环形图是饼图的一种,具体的饼图可以自己更改radius属性的大小 radius : ['50%', '70%'], //饼图的半径,第一项是内半 ...

  9. echarts 环形图 默认高亮展示某个数据

    环形图默认高亮显示数据 代码: data(){return {chart:null,} }, methods: {initChart() {this.chart = this.$echarts.ini ...

最新文章

  1. 手机号和邮箱正则匹配
  2. {面试题6: 重建二叉树}
  3. python -c带来的惊喜
  4. 队列工厂之RabbitMQ
  5. Intellij新建Spring项目引入用户目录下的Spring jar包
  6. C++primer 第 4 章 表达式 4.1基础 4 . 2 算术运算符 4 .3 逻辑和关系运算符 4 . 4 赋值运算符 4 .5 递增和递减运算符 4.6成员访问运算符
  7. python中__init__函数以及参数self
  8. 【面向对象】面向对象程序设计测试题10-类的设计测试题
  9. web报表工具FineReport使用中遇到的常见报错及解决办法(三)
  10. image是否有disabled属性_8、背景属性
  11. ubuntu install pip
  12. 算法 python_最全 Python 算法实现资源汇总!
  13. linux指定运行so文件,linux – 强制二进制文件使用特定(较新)版本的共享库(.so)...
  14. refprop物性库_REFPROP下载-REFPROP官方版下载[制冷剂物性查询]-天极下载
  15. Ubuntu18.04 wifi不稳定
  16. matlab计算可靠性过程,基于MATLAB的蒙特卡洛方法对可靠度的计算
  17. Blackhat2017:如何利用PostScript语言入侵打印机
  18. xposed绕过模拟器检测_刺激战场过模拟器检测 刺激战场模拟器检测怎么绕过
  19. java中英文字幕和_为了边看美剧边学英语,我写了个字幕处理脚本
  20. 网站实现qq登录(springboot后台)

热门文章

  1. Linux/mac下的自定义命令alias,并保存别名使其永久生效(重启不会失效)
  2. 用canvas画一个五星红旗
  3. STM32F103 PB3外部中断不正常问题
  4. linux红帽给文件加密,红帽大神制作 Linux 工具,用于旧款罗技无线键盘加密设置...
  5. 如何让table表格中td的内容自动换行
  6. python龙旋风图形代码_龙卷风图和python中的p10p90(matplotlib)
  7. 三伏天里小试牛刀andriod开发 #华为云·寻找黑马程序员#
  8. 红河计算机学院王厚钧,红河学院 Red River College
  9. 诛仙在服务器启动虚拟机镜像添加代码,诛仙3风吟虚拟机镜像一键服务端+青萝+配套客户端+GM工具+EL编辑器+启动说明...
  10. python如何按列输出_pandas中的DataFrame按指定顺序输出所有列的方法