Highcharts共享工具提示需要不同的valueSuffix和不同的小数

时间:2013-03-19 22:09:04

标签: highcharts

我有一张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来设置每个小数点系列,但我找不到任何使用这些函数的代码示例。

此外,一旦我离开一般工具提示,我就无法将总计工作量用于堆积色谱柱。

如果有人能指出我正确的方向,我会很感激。

3 个答案:

答案 0 :(得分:5)

您可以简单地为每个系列添加工具提示选项 您可以在以下link上查看选项 这样您就不必格式化每个系列的点。

series: [{
    name: 'USD',
    data: yourData,
    tooltip: {
        ySuffix: ' USD',
        yDecimals: 4
    }
}, {
    name: 'EUR',
    data: yourData,
    tooltip: {
        yPrefix: 'EUR ',
        yDecimals: 1
    }
}]

Demo

参考

答案 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:

&#13;
&#13;
$('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;
&#13;
&#13;