echarts 饼图 让中间文字与饼图对应的色块保持一致

这篇博客介绍了如何使用Echarts库在饼图中动态改变name和value文字的颜色。通过设置emphasis和normal标签的label属性,可以实现文字居中并设定基本样式。在mouseover事件中,获取当前区域的color值,并据此更新文字颜色。提供的代码示例详细展示了这一过程。

图一:先获取到data值,将name和value的字体颜色设置为你的背景色,数据存在也显示只是因为颜色所以看不见。

图二:鼠标移动事件,鼠标移动后获取到里面的color值,建议先打印params,以便确定具体的路径。

下面附上具体代码,以供复制:

//让文字显示在中间并设置基本样式
              emphasis: {
                label: {
                  fontSize: '20',
                  position: 'center',
                  show: true,
                  formatter: function ({ data }) {
                    let html = `{b| ${data.name}}\n{c|${data.value}}`;
                    return html
                  },
                  rich: {
                    b: {
                      //name 文字样式
                      lineHeight: 20,
                      fontSize: 18,
                      textAlign: "center",
                      color: "#fff",
                    },
                    c: {
                      //value 文字样式
                      lineHeight: 36,
                      fontSize: 18,
                      textAlign: "center",
                      color: "#fff",
                    },
                  }
                }
              },
              label: {
                normal: {
                  position: 'center',
                  show: false
                }
              },




//最后设置文字的具体颜色
        pie.on("mouseover", params => {
          pie.setOption({
            series: {
              label: {
                emphasis: {
                  rich: {
                    b: {
                      //获取 该区域的颜色值,为对应的企业数字体设置颜色
                      color: params.color.colorStops
                    },
                    c: {
                      //获取 该区域的颜色值,为对应的企业数字体设置颜色
                      color: params.color.colorStops
                    }
                  }
                }
              }
            }
          });
        });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值