之前一直用的百度的Echarts但是他没有3D的饼图所以今天用到HighCharts中的3D饼图,但是发现,饼图的数据标签颜色属性中的color是string类型,而不是array类型的,说明无法跟随饼图的颜色来进行着色,这就很坑了,在网上找了很多的解决方法,都是在formatter属性中打主意,而且是通过判断数据名称来进行着色,但是这样便无法动态进行数据的更替了,当我在formatter中打印出this的时候发现里面有color的属性,对应了每个饼图的颜色,这样我们就不需要通过判断来分别给数据标签着色了。
使用效果:
实现代码:
formatter: function() {
return (
'<p style="color:' +
this.color +
'">' +
this.point.name +
'</p><br><p style="color:' +
this.color +
'">' +
this.percentage.toFixed(1) +
"%</p>"
);
}
使用位置: