我有一张Highchart Graph,它绘制了温度,风,压力和降雨量。
这里可以看到http://www.dmjsystems.co.uk/weather/forecast.php
我正在使用一个共享的工具提示,其中增加了复杂性,即最大降雨量是叠加列中雨的最小值和最大值。目前代码忽略了我的基于系列的后缀,我无法获得单个小数点(即它们都显示3位小数)。
每个项目都有不同的后缀(Temp =(度符号)C,Wind = mph,Pressure = mb和Rain = in)和不同的小数位数(Wind = none,Temp = 1,Pressure = 1和雨= 3)。
我目前正在使用如下编码的一般工具提示:
tooltip: { shared : true,
formatter: function() {
return '<span style="color:#039;font-weight:bold">' + Highcharts.dateFormat('%A' + ', ' + '%b %d' + ', ' + '%H' + ':' + '00',this.x) + '</span><br/>' +
this.points.map(function(point, idx) {
return '<span style="color:' + point.series.color + '">' + point.series.name +
'</span>: <span style="color:#669;font-weight:bold">' +
Highcharts.numberFormat((idx == 0) ? point.total : point.y,3) +
'</span>';
}).join('<br/>');
}
},
但我认为我需要将此(除了共享:true)移动到使用pointFormat的系列工具提示(特别是tooltip.ySuffix,我认为这将允许我正确指定后缀)和valueDecimals来设置每个小数点系列,但我找不到任何使用这些函数的代码示例。
此外,一旦我离开一般工具提示,我就无法将总计工作量用于堆积色谱柱。
如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:5)
您可以简单地为每个系列添加工具提示选项 您可以在以下link上查看选项 这样您就不必格式化每个系列的点。
series: [{
name: 'USD',
data: yourData,
tooltip: {
ySuffix: ' USD',
yDecimals: 4
}
}, {
name: 'EUR',
data: yourData,
tooltip: {
yPrefix: 'EUR ',
yDecimals: 1
}
}]
参考:
答案 1 :(得分:2)
可以使用共享工具提示并设置前缀,后缀等。您只需要考虑措辞。而不是使用yprefix等,您使用valuePrefix
您为数据
中的每个系列设置了它series: [{
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],
type: 'column'
}, {
data: [216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5],
tooltip: {
valuePrefix: ' USD'
}}],
您可以在此处看到fiddle显示
答案 2 :(得分:2)
您可以为图表的工具提示指定自定义格式化程序,然后为系列工具提示指定值后缀和任何其他选项,然后在图表的工具提示格式化程序功能中引用这些选项。 E.g:
$('XXXX').highcharts({
...
tooltip: {
formatter: function() {
var text = "";
$.each(this.points, function(index) {
text += '<br/><b>' + this.series.name + ":</b> "+ this.y+" "+this.series.tooltipOptions.valueSuffix;
});
return text;
},
shared: true
},
...
});
...
chart.addSeries({
...
tooltip: {
valueSuffix: ' '+seriesUnit,
valueDecimals:2
},
...
});
&#13;