我正在尝试使用 amCharts 格式化数字。我想以 2 的精度格式化数字,但是当我插入时:
graph.numberFormatter = {precision:2, decimalSeparator:'.', thousandsSeparator:','};
它仅格式化工具提示中的数字,并且正如您在图像上看到的那样,并非所有数字都被格式化。
graph.labelText = "[[coding]] €";
如何格式化标签文本?
谢谢!
我正在尝试使用 amCharts 格式化数字。我想以 2 的精度格式化数字,但是当我插入时:
graph.numberFormatter = {precision:2, decimalSeparator:'.', thousandsSeparator:','};
它仅格式化工具提示中的数字,并且正如您在图像上看到的那样,并非所有数字都被格式化。
graph.labelText = "[[coding]] €";
如何格式化标签文本?
谢谢!
不要直接引用您的“valueField”。而是使用内置标签 [[value]]。所以你的例子会变成
graph.labelText = "[[value]] €";
就我而言,我在使用时遇到了完全相同的问题
"graphs" : [{
"labelText" : "[[s1]]",
"valueField" : "s1",
...
}
],
将其更改为
"graphs" : [{
"labelText" : "[[value]]",
"valueField" : "s1",
...
}
],
成功了。
这是我的建议:
"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;
}