在渲染图表后,从图表对象更改Highcharts工具提示格式化程序

时间:2012-11-20 18:12:25

标签: javascript tooltip highcharts formatter

我发现我可以使用setData更改系列,并且我知道我可以使用.setExtremes修改Max值,但我无法弄清楚如何从图表对象设置工具提示格式化程序。 如何更新该字段? 如果我有一个图表对象,如何更新其tooltip格式化程序属性? plotOptions tooltip formatter怎么样?

我尝试过:

chart1.tooltip.formatter = function() {return ''+this.series.name +'example: '+ this.y      +'example';};

但是当我在图表定义之后添加(用于测试)时,我的工具提示没有任何改变。 另外,我注意到了这个

console.log (chart1.tooltip.formatter);

返回undefined,但我不知道为什么。

小提琴让你可以尝试一下。

http://jsfiddle.net/pCuUW/5/ 提前致谢。

1 个答案:

答案 0 :(得分:16)

您可以改为使用chart.tooltip.options.formatter,例如

chart.tooltip.options.formatter = function() {
    var xyArr=[];
    $.each(this.points,function(){
        xyArr.push('Serie: ' + this.series.name + ', ' +'X: ' + this.x + ', Y: ' +this.y);
    });
    return xyArr.join('<br/>');
}

<强> Changing tooltip formatter dynamically | Highchart & Highstock @ jsFiddle

<强>更新 在新的(5.0.0+)版本的highcharts中,这也可以使用chart.update()方法

完成
  chart.update({
    tooltip: {
      formatter: function() {
        var xyArr = [];
        $.each(this.points, function() {
          xyArr.push('Serie: ' + this.series.name + ', ' + 'X: ' + this.x + ', Y: ' + this.y);
        });
        return xyArr.join('<br/>');
      }
    }
  });

<强> Changing tooltip formatter dynamically with chart.update | Highchart & Highstock @ jsFiddle