格式化Y轴值,原始数字以百万计,只想显示前三位数

New*_*oJS 9 number-formatting d3.js

我的Y轴(每个国家)的数据有数百万的数字:{日期:"1960",德国:"72542990",西班牙:"30327000",法国:"46621166",意大利:"50025500"}

如何编写.tickFormat(d3.format("")); 在我的Y轴变量上格式化刻度值,使它们在Y轴刻度中显示如下:0,2,000万,4千万,6千万,8千万

目前它们显示为0,2000,000,4000000,6000000,80000000

谢谢.

sam*_*sam 28

声明格式化程序

formatValue = d3.format(".2s");
Run Code Online (Sandbox Code Playgroud)

在TickFormat中使用

.tickFormat(function(d) { return formatValue(d)});
Run Code Online (Sandbox Code Playgroud)

用百万取代M试试这个..

.tickFormat(function(d) { return formatValue(d).replace('M', 'million'); });
Run Code Online (Sandbox Code Playgroud)

  • 你知道是否可以使用 python 版本的plotly 来执行相同的替换方法? (3认同)
  • 你知道这个`.2s`格式在哪里记录吗?谢谢! (2认同)
  • @ibiza https://github.com/d3/d3-format/blob/master/README.md#format它很好地解释了`.2s`和https://github.com/d3/d3-format/blob/ master/README.md#locale_formatPrefix for formatPrefix (2认同)