antvis/G2

纵坐标小数点精度问题 #4034

mingchen3398 posted onGitHub

<!-- Thank you for reporting an issue. 1. It's RECOMMENDED to submit PR for typo or tiny bug fix. 2. If this's a FEATURE request, please provide: details, pseudo codes if necessary. 3. If this's a BUG, please provide: course repetition, error log and configuration. Fill in as much of the template below as you're able. 4. It will be nice to use to provide a CodePen Link which can reproduce the issue, we provide a CodePen template g2-github-issue. 感谢您向我们反馈问题。 1. 提交问题前,请先阅读 https://antv.alipay.com/zh-cn/g2/3.x/index.html 上的文档。 2. 我们推荐如果是小问题(错别字修改,小的 bug fix)直接提交 PR。 3. 如果是一个新需求,请提供:详细需求描述,最好是有伪代码实现。 4. 如果是一个 BUG,请提供:复现步骤,错误日志以及相关配置,并尽量填写下面的模板中的条目。 5. 如果可以,请提供尽可能精简的 CodePen 链接,可使用 CodePen 模板 https://codepen.io/leungwensen/pen/WXJgox,方便我们排查问题。 6. 扩展阅读:如何向开源项目提交无法解答的问题 -->

<!-- Enter your issue details below this comment. -->

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

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

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

posted by hustcc almost 3 years ago

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

posted by lilyneaoer almost 3 years ago

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

posted by mansion-sun over 2 years ago

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

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

posted by hustcc over 2 years ago

Fund this Issue

$0.00
Funded

Pull requests