格式化y轴

时间:2017-04-19 19:48:49

标签: d3.js

我有一个显示美元值的y轴。我试图找到适用于所有潜在数字范围的单一格式策略。

我目前的格式策略是this.yAxis.tickFormat(d3.format('$.3s'))

以下是一些潜在的范围和我的问题

范围:14亿--45亿

结果:

enter image description here

问题:因为我指定了3 sig figs,每个tick都有一个不必要的尾随零。但是,当我切换到2 sig figs时,750M等刻度值将被截断为700M,这是不正常的。

理想格式:1.5, 2.0, 2.5, 3.0, etc.

范围:2亿 - 20亿:

结果:

enter image description here

问题:Axis应使用所有刻度的最高前缀。

理想格式:0.5G, 1.0G, 1.5G, 2.0G

<小时/> 范围:0 - 120亿:

结果:

enter image description here

问题:太多不必要的尾随零。

理想格式:0G, 2G, 4G, 6G, 8G, 10G, 12G

<小时/> 一般的问题是,根据刻度值和刻度步骤,我需要指定零精度或一些sig figs。我不知道如何编写通用代码来处理所有这些情况。

0 个答案:

没有答案