G2 icon indicating copy to clipboard operation
G2 copied to clipboard

纵坐标小数点精度问题

Open mingchen3398 opened this issue 2 years ago • 2 comments

  • G2 Version:4.1.32 4.2.5
  • Platform:Chrome103
  • CodePen Link:https://codesandbox.io/s/relaxed-pine-26r28x
  • Mini Showcase(like screenshots): image image

如图所示,当data值为小数时,纵坐标数字出现小数精度问题,虽然可以通过axis优化但还是建议官方在根本上规避此问题

// 下面这个可以保留小数
chart.axis('value', {
  label: {
    formatter: val => {
      return (+val).toFixed(2) 
    }
  },
});

mingchen3398 avatar Jul 12 '22 06:07 mingchen3398

其实很难解决,因为 js 的浮点数精度无可避免,只能内置默认的 formatter。

hustcc avatar Jul 12 '22 08:07 hustcc

formatter: (val) => (floor(val, 2)),

lilyneaoer avatar Jul 19 '22 07:07 lilyneaoer

这都是小问题,关键是数据精度超过三位小数,后面的小数位数是不是就忽略了?107.1504517之类的数据,只有小数点前三位往前的数字对图表绘制有效,关键这种微小差别的数据很多,怎么提高绘制精度呢?

mansion-sun avatar Aug 24 '22 08:08 mansion-sun

这都是小问题,关键是数据精度超过三位小数,后面的小数位数是不是就忽略了?107.1504517之类的数据,只有小数点前三位往前的数字对图表绘制有效,关键这种微小差别的数据很多,怎么提高绘制精度呢?

不会, 绘制上是原始数据绘制,上述 formatter 仅仅是影响显示的文本而已。就像在 react 中显示金额的时候,后端给的数据是准确的,但是前端会根据用户需求增加单位,去除小数位等。

hustcc avatar Sep 13 '22 02:09 hustcc