Highcharts工具提示背景按行(不设置backgroundColor = null)

时间:2017-03-13 19:36:56

标签: javascript html css svg highcharts

我有同样的问题:Highcharts tooltip background according to line

但此处提供的解决方案对我不起作用,因为将backgroundColor设置为null会使指针箭头消失:enter image description here

因此,为什么我一直在尝试从格式化程序本身更新工具提示背景颜色,我可以访问系列颜色:

      args.options = Object.assign(args.options, {backgroundColor : this.series.color});
      this.color = this.series.color;

但由于某些原因,只有初始颜色替换对我有用。然后,后续工具提示会显示我第一次更新的颜色。

首次悬停:enter image description here 第二次悬停:enter image description here

AND

首次悬停:enter image description here 第二次悬停:enter image description here

问题演示:http://jsfiddle.net/GGQ2a/23/

刷新页面几次并将鼠标悬停在不同的系列上以查看问题。

我需要在每次悬停时更改颜色,并且出于某种原因,只有在第一次使用时才会更换替换

1 个答案:

答案 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
    });
  }
});

示例:http://jsfiddle.net/t38x6kug/