2

我正在尝试使用 amCharts 格式化数字。我想以 2 的精度格式化数字,但是当我插入时:

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

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

堆积柱形图

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

如何格式化标签文本?

谢谢!

4

2 回答 2

1

不要直接引用您的“valueField”。而是使用内置标签 [[value]]。所以你的例子会变成

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

就我而言,我在使用时遇到了完全相同的问题

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

将其更改为

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

成功了。

于 2014-11-17T14:25:28.770 回答
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;
}
于 2016-07-19T11:28:16.603 回答