NVD3 - 用于货币问题的tickFormat

时间:2014-10-13 07:16:55

标签: javascript d3.js nvd3.js

现在我正在试图弄清楚如何让我的y轴更好看货币。您可以注意到以下图片中的两个问题:

  1. 顶部和底部数字包括丑陋的小数位
  2. “G”应该是十亿的“B”
  3. Line Graph using NVD3

    我该怎么做才能清理这种东西。这是我目前的y轴代码:

    var commasFormatter = d3.format("1s");
    
    chart.yAxis
      .tickFormat(function(d) { return "$" + commasFormatter(d); })
      .axisLabelDistance(10)
      .axisLabel('Profits')        
      ;
    

1 个答案:

答案 0 :(得分:0)

经过一番环顾,我找到了解决方案。

为格式写了一个变量,使用.3s将数字减少到3,并为数百万后缀附加M

var formatAxis = d3.format('.3s');

然后在.tickFormat上放置一个函数,所以用G替换B

.tickFormat(function(val) { return formatAxis(val).replace('G', 'B'); })