Formatting 如何在不自动舍入小数的情况下在amchart XY图表的值轴上显示精确数据?

Formatting 如何在不自动舍入小数的情况下在amchart XY图表的值轴上显示精确数据?,formatting,decimal,rounding,amcharts,amcharts4,Formatting,Decimal,Rounding,Amcharts,Amcharts4,我已经摆弄这个amchart 4代码好几天了,但仍然无法让它精确显示Y轴数据,它总是倾向于向下或向上取整 我尝试了maxprecision选项、numberformat选项和许多其他选项,但仍然无法正确解析,数据是通过json加载的,但对于JSFIDLE,我在javascript中创建了类似的临时数据 chart.data = [{"date":"2019-11-07","value":0.0051}, {"date":"2019-11-06","value":0.0063}, {"date"

我已经摆弄这个amchart 4代码好几天了,但仍然无法让它精确显示Y轴数据,它总是倾向于向下或向上取整

我尝试了maxprecision选项、numberformat选项和许多其他选项,但仍然无法正确解析,数据是通过json加载的,但对于JSFIDLE,我在javascript中创建了类似的临时数据

chart.data = 
[{"date":"2019-11-07","value":0.0051},
{"date":"2019-11-06","value":0.0063},
{"date":"2019-11-05","value":0.0059},
{"date":"2019-11-04","value":0.0071},
{"date":"2019-11-03","value":0.0101},
{"date":"2019-11-02","value":0.0113},
{"date":"2019-11-01","value":0.0101}];
因此,在Y轴上,它不显示值为0.0101,而是向上舍入到0.01

下面是一个在JSFIDLE上运行的示例代码,它清楚地显示了这个问题


这是一个
ValueAxis
。它显示抽象值比例,网格中的值适合特定的值范围,并且不一定与实际数据点对应

您可以通过降低axis渲染器的
minGridDistance
来增加粒度。例如:

valueAxis.renderer.minGridDistance = 10;

这将使网格/标签更频繁,从而更精确,但不能保证这些与实际数据点相对应

如果需要以精确的值绝对放置栅格/标签,则需要为每个值添加“轴范围”

您可以通过迭代所有数据并为每个值放置一个轴范围来实现自动化:

for(var i = 0; i < chart.data.length; i++) {
  var range = valueAxis.axisRanges.create();
  range.value = chart.data[i].value;
  range.label.text = chart.data[i].value + "";
  range.grid.stroke = am4core.color("#396478");
  range.grid.strokeOpacity = 0.5;
}
for(var i=0;i
这是你的小提琴

如果运行此操作,您将了解为什么将栅格/标签放置在精确值处是个坏主意;)