echarts-设置嵌套饼图,外部饼图分段渐变色

需求:外部有个嵌套的饼图,分段渐变色,对应内部饼图区域

在这里插入图片描述

下方代码可直接运行在https://echarts.apache.org/examples/zh/editor.html?c=line-simple

const data = [
  { value: 1775, name: '1' },
  { value: 679, name: '2' },
  { value: 848, name: '3' },
  { value: 775, name: '4' },
  { value: 848, name: '5' }
];

const data1 = [];
const color1 = ['#46C4C4', '#75D3D3', '#A3E2E2', '#D0F0F0'];
const color2 = ['#F3CF76', '#F6DB98', '#F9E7BB', '#FCF3DD'];
const color3 = ['#F3B776', '#F6C998', '#F9DBBB', '#FCEDDD'];
const color4 = ['#65D9D0', '#B2ECE7'];
const color5 = ['#49CBF1', '#77D8F4', '#88DDF5'];
// 生成外部分段渐变色饼图
const outColorfulPie = (value, colorArr) => {
  const partnum = value / colorArr.length;
  for (let i = 0; i < colorArr.length; i++) {
    data1.push({ value: partnum, itemStyle: { color: colorArr[i] } });
  }
};
outColorfulPie(data[0].value, color1)
outColorfulPie(data[1].value, color2)
outColorfulPie(data[2].value, color3)
outColorfulPie(data[3].value, color4)
outColorfulPie(data[4].value, color5)

option = {
  tooltip: {
    trigger: 'item',
    formatter: '{a} <br/>{b}: {c} ({d}%)'
  },
  color: ['#19B6B6', '#F0C354', '#F0A554', '#3ECFC4', '#1CBEED'],
  legend: {},
  series: [
    {
      type: 'pie',
      radius: [0, '40%'],
      itemStyle: {
        borderColor: '#fff',
        borderWidth: 3
      },
      label: {
        show: true
      },
      labelLine: {
        length: 90
      },
      data: data
    },
    {
      type: 'pie',
      labelLine: {
        show: false
      },
      radius: ['45%', '60%'],
      data: data1
    }
  ]
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值