格式化系列上的工具提示值

时间:2014-05-28 17:23:16

标签: highstock

我正在创建一个multichart(行和列),我需要格式化我的一个系列的工具提示值。问题是:格式化程序似乎不适用于系列内部。

我有一个点值,如:212575200

在工具提示中,它被格式化为2.125.752,00

但我需要将其格式化为:2.1 M(百万) (K代表千,M代表百万,B代表亿)

如何仅为我的一个系列格式化工具提示值?

这是我正在使用的代码:

series : [{
            name : ((tipoGrafico == 'line' || tipoGrafico == 'column')?'ult':' '),
            data : dadosJson,
            pointStart: dadosJson[0][0],
            pointInterval: 24 * 3600 * 1000,
            yAxis: 0, // Em qual grafico do eixo Y irão esses dados
            tooltip: {
                valueDecimals: CASAS_DECIMAIS,
            }
        },{
            type: 'column',
            name: nomeEstudo,
            data: volume,
            pointStart: dadosJson[0][0],
            pointInterval: 24 * 3600 * 1000,
            yAxis: 1,
            tooltip: {
                valueDecimals: ((nomeEstudo != "neg") ? CASAS_DECIMAIS : 0),
                pointFormat: '<tspan style="color:{series.color}"> {series.name}: </tspan><tspan> ' + formatNumber(('{point.y}'/formataValores('{point.y}').divisor))+formataValores('{point.y}').letra + '</tspan>'
            },
        }],

请注意,我正在尝试pointFormat,但它正在从我的其他JS函数返回NaN,因为它无法及时计算'{point.y}'实际上是{{1} },而不是Number

2 个答案:

答案 0 :(得分:1)

在格式化程序中,您可以检查工具提示中显示的系列,然后使用条件(即基于系列的ID或名称或索引)并返回内容。

答案 1 :(得分:0)

以下类型的功能将帮助您:

tooltip:
{
formatter: function() {
for(var temp=0,tempLength = this.points.length;temp<tempLength; temp++)
{
//You will get the point value here by using following code
var Value = this.points[temp].y;
//Now you can apply any format to this value
}
}
}