我在大型d3.js仪表板项目中使用精彩的d3.format标准化格式。
我的两个指标使用SI前缀:
var my_format = d3.format(".2s");
var my_format2 = d3.format(".3s");
客户希望以百万为单位显示小写字母M.我可以在图表级别的代码中清楚地解决这个问题,但我想知道是否有人有更高级的解决方案?
答案 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");