实现echarts内外圈联动
Posted sunbinary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现echarts内外圈联动相关的知识,希望对你有一定的参考价值。
//控制都是通过控制series中data的name,那么将内外圈需要同事控制的部分设置为一样的名字,就可以实现内外圈联动。
//但是在name相同时,会使默认分配颜色时相同,使颜色不好看,这里就需要给data自己分配颜色。
app.title = ‘嵌套环形图‘; var colors=[ ‘#6EB6F2‘,‘#71F16F‘,‘#FFC000‘,‘#384C6C‘,‘#7577F8‘, ‘#003366‘,‘#AEABAF‘,‘#00F4D2‘,‘#8084F1‘,‘#FF9F4E‘, ‘#4FA2A9‘,‘#9a7fd1‘,‘#588dd5‘,‘#f5994e‘,‘#c05050‘, ‘#59678c‘,‘#c9ab00‘,‘#7eb00a‘,‘#6f5553‘,‘#c14089‘, ‘#FF4F7F‘,‘#CC6666‘,‘#7f7522‘,‘#2b4490‘,‘#333399‘, ‘#70a19f‘,‘#009299‘,‘#78331e‘,‘#3e4145‘,‘#7bbfea‘, ‘#339999‘,‘#8f4b38‘,‘#694d9f‘,‘#f26522‘,‘#8e7437‘, ‘#45b97c‘,‘#74787c‘,‘#afdfe4‘,‘#fdb933‘,‘#bed742‘, ‘#A20055‘,‘#AA0000‘,‘#C63300‘,‘#0000AA‘,‘#2200AA‘, ‘#990099‘,‘#00AAAA‘,‘#00AA88‘,‘#00AA55‘,‘#FF1493‘ ]; option = { tooltip: { trigger: ‘item‘, formatter: "{a} <br/>{b}: {c} ({d}%)" }, legend: { orient: ‘vertical‘, x: ‘left‘, data:[‘直达‘,‘营销广告‘,‘搜索引擎‘,‘邮件营销‘,‘联盟广告‘,‘视频广告‘,‘百度‘,‘谷歌‘,‘必应‘,‘其他‘] }, series: [ { name:‘访问来源‘, type:‘pie‘, selectedMode: ‘single‘, radius: [0, ‘30%‘], label: { normal: { position: ‘inner‘ } }, labelLine: { normal: { show: false } }, data:[ {value:335, name:‘直达‘, selected:true}, {value:679, name:‘营销广告‘}, ] }, { name:‘访问来源‘, type:‘pie‘, radius: [‘40%‘, ‘55%‘], label: {//默认的label显示时,是显示名字,如果希望内外圈显示的label不同,可以通过自己构建label函数。 normal:{ formatter:function (params) { if(params.value != 0) return params.data.name; else return ‘‘; } } }, data:[ {value:335, name:‘直达‘,type:"直达",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:310, name:‘直达‘,type:"邮件营销",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:234, name:‘直达‘,type:"联盟广告",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:135, name:‘直达‘,type:"视频广告",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:1048, name:‘营销广告‘,type:"百度",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:251, name:‘营销广告‘,type:"谷歌",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:147, name:‘营销广告‘,type:"必应",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}}, {value:102, name:‘营销广告‘,type:"其他",itemStyle:{ normal:{ color:colors[Math.floor(40*Math.random())] }}} ] } ] };
以上是关于实现echarts内外圈联动的主要内容,如果未能解决你的问题,请参考以下文章