我有同样的问题:Highcharts tooltip background according to line
但此处提供的解决方案对我不起作用,因为将backgroundColor设置为null会使指针箭头消失:
因此,为什么我一直在尝试从格式化程序本身更新工具提示背景颜色,我可以访问系列颜色:
args.options = Object.assign(args.options, {backgroundColor : this.series.color});
this.color = this.series.color;
但由于某些原因,只有初始颜色替换对我有用。然后,后续工具提示会显示我第一次更新的颜色。
AND
问题演示:http://jsfiddle.net/GGQ2a/23/
刷新页面几次并将鼠标悬停在不同的系列上以查看问题。
我需要在每次悬停时更改颜色,并且出于某种原因,只有在第一次使用时才会更换替换
答案 0 :(得分:2)
您可以包装Tooltip.refresh()
方法并根据点的系列颜色更改工具提示的背景。
const H = Highcharts;
H.wrap(H.Tooltip.prototype, 'refresh', function (p, point, mouseEvents) {
p.call(this, point, mouseEvents);
const label = this.label;
if (point && label) {
label.attr({
fill: point.series.color
});
}
});