echarts嵌套饼图

【Echarts】用echarts绘制饼图 echarts(Enterprise Charts,商业级数据图表)是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 阅读详情

1:静态页面效果

var myChart1 = echarts.init(document.getElementById('_top'));
option1 = {
    tooltip: {
        trigger: 'item',
        formatter: "{a} <br/>{b}: {c} ({d}%)"
    },
    legend: {
         orient: 'vertical',
         left: 'left',
         data: ['学生','教师','家长','学生(小学)','学生(初中)']
    },
    series: [
        {
            name:'学段分类统计',
            type: 'pie',
            radius: ['10%', '35%'],
            label: {
                normal: {
                    position: 'inner'
                }
            },//扇形区域内显示文字
            data:[
                {value:25, name:'学生'},
                {value:35, name:'教师'},
                {value:45, name:'家长'}
            ],
            color: ['#10EFE0','#EF42A4','#FF8F03']
        },
        {
            name:'角色分类统计',
            type: 'pie',
            radius: ['35%', '75%'],
            label: {
                normal: {
                    position: 'inner'
                }
            },
            labelLine: {
                normal: {
                    show: true,
                }
            },
            data:[
                { value: 10, name: '学生(小学)' },
                { value: 10, name: '学生(初中)' },
                { value: 5, name: '学生(高中)' },
                { value: 15, name: '教师(小学)' },
                { value: 15, name: '教师(初中)' },
                { value: 5, name: '教师(高中)' },
                { value: 20, name: '家长(小学)' },
                { value: 10, name: '家长(初中)' },
                { value: 15, name: '家长(高中)' },

            ],
            color:['#51CEC6','#6AE2D9','#96F5EF','#EF87C2','#F79DD0','#FFC8E7','#FFB703','#FFCD50','#FFE296']
        },

    ],

};
myChart1.setOption(option1);

2:封装JS

function EdiObjValue(obj, target, editName) {
    for (var prop in obj) {
      if (obj.hasOwnProperty(prop)) {
        if (obj[prop] == target) {
          obj[prop] = editName;
        }
        if (Object.prototype.toString.call(obj[prop]) == '[object Object]') {
          EdiObjValue(obj[prop], target, editName)
        } else if (Object.prototype.toString.call(obj[prop]) == '[object Array]') {
          obj[prop].map(item => {
            EdiObjValue(item, target, editName)
          })
        }
      }
    }
  }


 w.multiChart = function (dom, data) {
    var dom = document.getElementById(dom);
    var chart = echarts.init(dom);

    option = {
    		tooltip: {
    			trigger: 'item',
    			formatter: "{a} <br/>{b}: {c} ({d}%)"
    		},
    		legend: {
    	         orient: 'vertical',
    	         left: 'left',
    	         data: 'xAxisData'
    	    },
    		series: [
    			{
    				name:'shopName',
    				type: 'pie',
    				radius: ['10%', '35%'],
    				label: {
    					normal: {
    						position: 'inner'
    					}
    				},//扇形区域内显示文字
    				data:'seriesData1',
    				color: ['#10EFE0','#EF42A4','#FF8F03']
    			},
    			{
    				name:'shopName',
    				type: 'pie',
    				radius: ['35%', '75%'],
    				label: {
    					normal: {
    						position: 'inner'
    					}
    				},
    				labelLine: {
    					normal: {
    						show: true,
    					}
    				},
    				data:'seriesData2',
    				color:['#51CEC6','#6AE2D9','#96F5EF','#EF87C2','#F79DD0','#FFC8E7','#FFB703','#FFCD50','#FFE296']
    			},

    		],

    };

    Object.keys(data).forEach(item => {
      EdiObjValue(option, item, data[item])
    })
    chart.setOption(option, true);
  }

3:后台动态获取数据

$.ajax({
			type : 'post',
			url: baseUrl + "BIAction/buslineAttendance",//调用后台接口获取折线图上的数据
            dataType: "jsonp",
            success:function(result){
             var options = {
               		 	shopName:result.shopName,
                        xAxisData: result.names,
                        seriesData1: result.innerMapList,//内层  
                        seriesData2: result.extMapList //外层
                       
                }    
                multiChart(id,options)
                return options  	
        }
    })

用echarts绘制饼图---绘制嵌套饼图 嵌套饼图用于在每个类别中再嵌套多个类别,反映各类数据之间的比例关系。嵌套饼图即两种饼图的嵌套,外层是一个环形图,内层是一个标准饼图或环形图。 某大学有3个学院,各学院的总学生人数如表所示。 利用某大学3个学院的学生总人数的数据绘制嵌套饼图,如图所示。 源代码如下: <html> <head> <meta charset="utf-8"> <!--引入ECharts脚本--> <script src="js/ech 阅读详情

相关推荐

从AND到XOR:5种门控电路在PrimeTime中的检查策略差异

本文深入探讨了AND、NAND、OR、NOR和XOR五种门控电路在PrimeTime静态时序分析中的检查策略差异。重点解析了XOR门控因其非单调性而无法被工具自动推断,需要工程师手动配置的特殊性,并提供了针对各类门控的配置模板与调试技巧,以确保时钟网络的完整性与芯片设计的可靠性。

rgv2345678的博客 270

使用Echarts制作动态嵌套饼图

笔者最近因为使用Echarts制作报表,参考了官方文档及某些博客,使用过程中有些想法,想将其中的一些记录下来,也希望能帮助到需要的人。 本例以嵌套的饼图为例。嵌套的饼图即为双层饼图,相比普通的饼图多了一组二级数据,可以很好地显示二级关系,适合较为复杂的数据显示。 关于嵌套饼图,百度echarts有官方文档:嵌套饼图 可以进行比对。 1.下载echarts.js。百度echarts官网下载,目前

advant211的博客 1万+

避开地图定位偏差!手把手教你用Python实现火星坐标与WGS84精准转换

本文深入解析了国内地图服务中火星坐标(GCJ-02)与国际标准WGS84坐标系之间的偏差问题,并提供了基于Python的精准转换解决方案。文章详细阐述了坐标转换的核心原理,手把手教你构建可复用的转换工具包,并演示如何将其集成到实际应用(如Flask API)中,帮助开发者和数据分析师有效解决地图定位不准、多源数据无法对齐的痛点,提升地理信息处理能力。

weixin_29250403的博客 125

echarts实现复合饼图

echarts实现复合饼图

sinat_35456607的博客 3659

Spring Boot整合Apache Hop 2.3.0实战:从零搭建数据管道(附完整代码)

本文详细介绍了如何在Spring Boot项目中整合Apache Hop 2.3.0,从零开始构建可嵌入的数据管道。内容涵盖环境初始化、依赖配置、管道设计,并通过完整代码示例演示了如何通过REST API触发执行,实现数据同步与ETL流程的自动化管理,为微服务架构提供灵活的数据集成方案。

web99的专栏 632

python blp模型 估计_随机系数Logit模型及Stata实现

欢迎投稿(荐稿)计量经济圈,计量相关都行邮箱:econometrics666@sina.cn作者:北京交通大学经济管理学院博士生,王琦珀。欢迎你加入计量经济圈社群,一起探讨前沿计量理论和实证方法。一、随机系数Logit模型1.背景实证产业组织(Empirical Industrial Organization,EIO)是目前产业组织理论的前沿,其中又以Ariel Pakes为带头人,其近期工作论文...

weixin_42298927的博客 2641

echarts饼图中间嵌套图片

echarts饼图中间嵌入图片

m0_61476911的博客 1442

【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战

正例-无标签学习(Positive-Unlabelled Learning, PU Learning)是机器学习领域处理"只有正例标签,负例完全未知"场景的重要技术。本文基于2025年发表于Applied Intelligence的最新研究成果,详细阐述如何从零复现Auto-PU框架(包含GA-Auto-PU、BO-Auto-PU、EBO-Auto-PU三种优化器)。

nmdbbzcl的博客 1389

echarts嵌套饼图,实现多层级饼图效果

效果图: 实例代码: let option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, series: [ { name: '数据', type: 'pie', selectedMode: 'single', radius: [

Dalin0929的博客 9789

SAP 生产订单归档简介

通常在使用了几年的SAP后,系统中会产生非常多的数据在系统中,特别是制造业的生产订单,常年的累积会存在很多的订单在系统中,这个时候就可以使用归档的功能,对生产订单进行处理。标记DLFL的前提是需要完成生产订单的差异结算,DLFL标记可以清除掉生产订单的相关需求和预留。6、在执行CO78选择删除,前面的操作相当于我们把需要归档的数据写入了数据库中,现在正式进行数据的归档删除。然后我们co03在去看生产订单,可以看到生产订单中多了删除的状态和标记的状态。我这里直接执行的程序PPARCHP1,效果其实是一样的。

我小时候很黑的博客 2285

华为OD机试双机位A卷 - VLAN资源池 (C++ & Python & JAVA & JS & GO)

华为OD机试2025双机位A卷 VLAN资源池,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 879

echarts饼图嵌套关联

效果图: 这是点击中间饼图扇形所打印的数据,dataIndex是该扇形在data集合中的下标,unitTypeList集合的数据就是该扇形对应的数据在外圈展示。 注意:dataIndex是echarts中自带的属性,unitTypeList是我下面添加进去的 代码: //查询路段的总数的市政部件总数 function findUnitTotalByRoad(){ $.ajax({ url: '${path}/getData', type: 'POST', dataTy

dawnStart的博客 3616

Spring Boot 与 Redisson 版本适配深度解析

Spring Boot 与 Redisson 的版本适配是一个动态演进的过程。开发者需要密切关注两者官方的版本更新日志,建立完善的版本验证机制。本文提供的适配方案基于当前最新技术状态(2024年1月),建议在实际生产环境中通过灰度发布策略验证版本兼容性。只有深入理解底层技术原理,才能在分布式系统的星辰大海中稳健航行。延伸阅读Spring Boot 官方迁移指南。

fudaihb的博客 1083

echarts如何设置嵌套饼图的宽度

设置echarts嵌套饼图宽度,内层和外层宽度要设置一样,否则就会发现嵌套的饼图移动到外层饼图以外了

圆圆的 JavaScript 博客 5176

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

echarts笔记-2,嵌套饼图

嵌套饼图和单个饼图差别不大,需要之一的是,如果使用嵌套饼图,只能有一个标题和一个图例,因为虽然是两个饼图,但是是一个echarts实例 需要注意的地方: 1. 注意外外部饼图和内部饼图的关系,如果外部饼图是内部饼图的细分,注意内外饼图的配色。 2. 注意标签的位置,饼图的默认标签在外部,嵌套饼图使,内饼图标签最好设置在内部。 myChart = echarts.init(docu...

dandan__666的博客 2201

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

php echarts 嵌套饼图,echarts 的dataset 如何构造嵌套饼图?

刚好今天在弄这个,我的实现方案如下:dataset习惯用json对象的集合:dataset:{source:[{key1:'直达',key2:335,key3:0},{key1:'营销广告',key2:679,key3:0},{key1:'搜索引擎',key2:1548,key3:0},{key1:'直达',key2:0,key3:335},{key1:'邮件营销',key2:0,key3:310...

weixin_34781110的博客 524

echarts嵌套饼图联动实现

echarts嵌套饼图联动实现 效果解释:当点击内部饼图时,外环饼图会跟随内部选择的饼图变化 效果图: 代码: <html> <head> <title>嵌套饼图联动</title> </head> <script type="text/javascript" sr...

weixin_30532987的博客 1061

echart vue 嵌套饼图_vue+elementUi+echarts 饼图组件

效果饼图.gif饼图组件 pie.vueimport echarts from 'echarts'import { debounce } from '@/utils'require('echarts/theme/macarons') // echarts themeimport resize from './mixins/resize'export default {props: {opinion...

weixin_36273006的博客 617

echarts 嵌套饼图 内外圈图例联动

最近在使用echarts 发现其功能真心不错。 但是在使用嵌套饼图时,发现内外圈无法联动,尤其将图例设置为内圈时,点击图例取消内圈饼图,外圈没有办法联动。 为了实现内外圈同时变化,这里发现一个echarts的小技巧,就是其控制都是通过控制series中data的name,那么将内外圈需要同事控制的部分设置为一样的名字,就可以实现内外圈联动。 但是在name相同时,会使默认分配颜色时相同,使颜

qq_33518042的博客 6888

echart vue 嵌套饼图_vue+elementUI中使用Echarts之饼图

实现效果如图老规矩先创建占位子的div然后引入Echarts,并且模拟数据export default {name: "",data() {return {charts: "",opinion: ["及格人数", "未及格人数"],opinionData: [{ value: 12, name: "及格人数", itemStyle: "#1ab394" },{ value: 18, name: "...

weixin_32206303的博客 394

echarts嵌套饼图点击legend内外联动

嵌套饼图数据: pieData: { parent: [{ name: '省内仓', value: 900, id:'1' }, { name: '省外仓',

一位陌生人的博客 2341

Echarts --- 可视化练习(pie06 --- 环形嵌套饼图)

Echarts — 可视化练习(pie06 — 环形嵌套饼图) 别人想什么,我们控制不了;别人做什么,我们也强求不了。唯一可以做的,就是尽心尽力做好自己的事,走自己的路,按自己的原则,好好生活。即使有人亏待了你,时间也不会亏待你,人生更加不会亏待你!善待别人,就是善待自己。 ----- 摘自知乎 Flask: # -*- coding: utf-8 # @Author : ZYX # @File : pie06_嵌套环形饼图.py # @software: PyChar

懂得一千零一种,赋予你失败的方法! 2474
上一篇: SpringBoot自定义starter
闻言Good
博客等级 码龄10年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值