jquery - 使 xaxis 数据标签具有与条形 Highcharts 相同的颜色
问题描述
我尝试使每个数据标签 Xaxis 具有与条形颜色相同的颜色
有什么办法让它匹配吗?
这是代码
var colors = ['#76daff','#b9f','#99ffa6','#ffc312'];
xAxis: {
type: 'category',
labels: {
useHTML : true,
formatter: function () {
return '<div class="myToolTip" style="color:'+colors+'">'+this.value+'</div>';
},
}
},
这是完整代码的链接
解决方案
目前,您正在将完整colors
数组的表示填充到您的样式定义中。这导致以下结果:
style="color:#76daff,#b9f,#99ffa6,#ffc312"
这显然不是期望的行为。
但是您的formatter
函数能够通过使用来获取有关其上下文的信息(在本例中为相应的数据点),this
如已显示的使用this.value
来显示正确的值。this
另外有一个this.pos
包含当前数据点索引的属性。(谢天谢地,索引从 0 开始计数,就像每个程序员都会做的那样)
因此,通过稍微调整您的代码,您可以获得当前匹配的颜色而不是完整的数组:
formatter: function () {
return '<div class="myToolTip" style="color:'+colors[this.pos]+'">'+this.value+'</div>';
}
但作为另一种保护措施,您可以在给出的颜色少于值时复制 highcharts 行为(在颜色数组的末尾,您只需使用模数重新开始):
formatter: function () {
return '<div class="myToolTip" style="color:'+colors[this.pos % color.length]+'">'+this.value+'</div>';
}
编辑:我更新了您的 codepen以向您展示一个工作示例。我还使用标准 formatString 来相应地设置实际值的样式。
推荐阅读
- ios - Firebase 观察者值影响所有集合视图单元格
- java - Eclipse 不部署 Maven 依赖项
- .htaccess - 将特定 URL 重定向到另一个子域上的另一个 URL
- javascript - 使用 chart.js 在一页中显示多个图表
- python - PyMonzo 库和使用 Raspberry Pi 3 的 Adafruit_Neopixel 库之间的冲突
- java - Scanner 对象在 while 循环中只执行一次
- python - 如何将纪元时间转换为时间
- azure - Powershell循环直到输出为一行
- c++ - 运行相同解决方案的另一个项目的项目
- ios - IONIC 3 本地通知在带有 FCM 的 IOS 中不起作用