我有一个显示美元值的y轴。我试图找到适用于所有潜在数字范围的单一格式策略。
我目前的格式策略是this.yAxis.tickFormat(d3.format('$.3s'))
以下是一些潜在的范围和我的问题
范围:14亿--45亿
结果:
问题:因为我指定了3
sig figs,每个tick都有一个不必要的尾随零。但是,当我切换到2
sig figs时,750M
等刻度值将被截断为700M
,这是不正常的。
理想格式:1.5, 2.0, 2.5, 3.0, etc.
范围:2亿 - 20亿:
结果:
问题:Axis应使用所有刻度的最高前缀。
理想格式:0.5G, 1.0G, 1.5G, 2.0G
结果:
问题:太多不必要的尾随零。
理想格式:0G, 2G, 4G, 6G, 8G, 10G, 12G