Highcharts多系列图表中为Tooltip添加单位后缀时出现undefined问题的求助
解决Highcharts多系列Tooltip后缀显示undefined的问题
嗨,我看了你遇到的问题——多系列图表里Tooltip的单位后缀老是显示undefined,别急,咱们来搞定它!
问题根源
你在series配置里自定义了valueSuffix属性,但在tooltip的formatter函数里直接访问this.series.valueSuffix是行不通的。因为Highcharts在初始化图表时,会把你传入的系列配置存到series.options对象里,而不是直接挂载在series实例本身上,所以直接拿this.series.valueSuffix自然会得到undefined。
修改方案
只需要把tooltip formatter里的这一行:
var suff = this.series.valueSuffix,
改成:
var suff = this.series.options.valueSuffix,
修改后的完整tooltip配置代码如下:
tooltip: { formatter: function () { var suff = this.series.options.valueSuffix, heading = this.series.name return "<b>" + heading + "</b><br/>" + Highcharts.dateFormat('%a %d %b %H:%M.', this.x, true) + ":<br/>" + Highcharts.numberFormat(this.y, 0) + suff +" " ; }, backgroundColor: 'rgba(0, 0, 0, .75)', borderWidth: 2, style: { color: '#CCCCCC' } },
额外说明
以后你添加压力系列的时候,只需要在对应的series配置里加上valueSuffix: 'hPa'(或者你需要的单位),这个formatter函数就能自动获取到对应的后缀,不需要再修改tooltip的代码,完美适配多系列的场景。
内容的提问来源于stack exchange,提问作者HuggieDuggie
相关产品推荐
相关产品推荐

