Javascript Highcharts:动态更改工具提示格式化程序?
我想根据全局值格式化可重用的Highcharts工具提示。(我使用同一图表在货币和数值之间切换:如果我在图表上显示货币数据,我希望将工具提示格式化为货币。) 但是,Javascript Highcharts:动态更改工具提示格式化程序?,javascript,highcharts,Javascript,Highcharts,我想根据全局值格式化可重用的Highcharts工具提示。(我使用同一图表在货币和数值之间切换:如果我在图表上显示货币数据,我希望将工具提示格式化为货币。) 但是,Highcharts工具提示函数中的这个似乎只引用本地数据点,我似乎无法传入值 如何传入值或获取全局值?这是我现在的代码,失败得很厉害: getChartTooltip: function() { return function(graphType) { var prefix = (graphType ===
Highcharts工具提示函数中的这个
似乎只引用本地数据点,我似乎无法传入值
如何传入值或获取全局值?这是我现在的代码,失败得很厉害:
getChartTooltip: function() {
return function(graphType) {
var prefix = (graphType === 'currency') ? '$' : ''; // Fails
return prefix + Highcharts.numberFormat(this.y, 0);
};
},
initializeChart: function() {
var graphType = 'currency';
var chartOptions = {};
chartOptions.tooltip = {
formatter: getChartTooltip(graphType)
};
// create chart, etc...
$('change-chart-type').on('click', function() {
// Try to update the tooltip formatter, fail horribly...
graphType = 'number';
chart.series[0].update({
tooltip: {
formatter: _this.getChartTooltip(graphType)
}
});
});
有什么更好的方法可以做到这一点?您不需要更改
工具提示。格式化程序
,因为更改工具提示的是格式化程序
本身
我想尝试一下:
tooltip: {
formatter: function() {
var unit = ' $',
result = this.value;
if(this.series.name == 'your_currency_serie_name'){
result += unit;
}
return result;
}
}
其中,“您的货币系列名称”
是指货币值的系列名称 您还可以通过、和选项设置每个系列中的工具提示
选项。工具提示将使用这些选项显示数据。活着
一般设置:
...
series: [{
tooltip: {
valueDecimals: 0,
valuePrefix: '',
valueSuffix: ''
},
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}, {
tooltip: {
valueDecimals: 2,
valuePrefix: '$',
valueSuffix: ' USD'
},
data: [129.9, 171.5, 1106.4, 1129.2, 1144.0, 1176.0, 1135.6, 1148.5, 1216.4, 1194.1, 195.6, 154.4]
}]
...