d3.format SI前缀 - 小写字母

时间:2018-01-18 14:18:19

标签: javascript d3.js formatting

我在大型d3.js仪表板项目中使用精彩的d3.format标准化格式。

我的两个指标使用SI前缀:

   var my_format = d3.format(".2s");
   var my_format2 = d3.format(".3s");

客户希望以百万为单位显示小写字母M.我可以在图表级别的代码中清楚地解决这个问题,但我想知道是否有人有更高级的解决方案?

1 个答案:

答案 0 :(得分:1)

首先,耐心地向您的客户解释SI前缀的含义,小写的m代表其他内容...

当他们说他们不在乎时,请执行此操作:

var customGenerator = (f) => (n) => n > 999999 && n < 1000000000 ? d3.format(f)(n).toLowerCase() : d3.format(f)(n);

并用作:

var my_format = customGenerator(".2s");
var my_format2 = customGenerator(".3s");