设置HighCharts图的字体颜色和饼状图保持一致

1,237 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

Highcharts相关介绍: Highcharts:功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库 Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图、曲线图、面积图、柱状图、饼图、散点图等多达18种不同类型的图表,可以满足你对Web图表的任何需求 !

之前一直用的百度的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>"
                );
              }

使用位置:

兼容性: Highcharts 可以在所有的移动设备及电脑上的浏览器中使用,包括 iPhone,iPad 和 IE6 以上的版本,在 IOS 和 Android 系统中 Highcharts 支持多点触摸功能,因而可以给您提供极致的用户体验。在现代的浏览器中使用 SVG 技术进行图形绘制,在低版本 IE 则使用 VML 进行图形绘制。