使用amCharts格式化labelText

时间:2012-11-29 14:28:48

标签: javascript jquery charts amcharts

我试图用amCharts格式化数字。 我想格式化数字的精度为2但是当我插入时:

graph.numberFormatter = {precision:2, decimalSeparator:'.', thousandsSeparator:','};

它只格式化工具提示中的数字,正如您在图像上看到的那样,并非所有数字都被格式化。

am stacked column chart

graph.labelText = "[[coding]] €";

如何格式化labelText?

谢谢!

2 个答案:

答案 0 :(得分:1)

不要直接引用你的'valueField'。而是使用内置标签[[value]]。所以你的例子将成为

graph.labelText = "[[value]] €";

在我的情况下,当我使用

时,我遇到了完全相同的问题
"graphs" : [{
        "labelText" : "[[s1]]",
        "valueField" : "s1",
        ...
    }
],

将其更改为

"graphs" : [{
        "labelText" : "[[value]]",
        "valueField" : "s1",
        ...
    }
],

做了这个伎俩。

答案 1 :(得分:1)

这是我的建议:

"graphs":[{
     "labelText":"[[value]]",
     "labelFunction": function(graphDataItem, graph){
            var value = graphDataItem.values.value;
            value = formatTextLabel(value);
            return value;
      }
 }]

和formatTextLabel是一个函数,如:

function formatTextLabel(value){
    value = value.toString();
    var pattern = /(-?\d+)(\d{3})/;
    while (pattern.test(value))
        value = value.replace(pattern, "$1,$2") + "$";
    return value;
}