D3:格式化刻度值。显示B(十亿)而不是G(千兆)

Ras*_*ngh 7 javascript jquery d3.js

我想在D3折线图中格式化Y轴数据。它与世界人口有关,因此非常庞大。

我当前正在使用下面的代码,它显示的是“ G”而不是“ B”。

d3.format("s")
Run Code Online (Sandbox Code Playgroud)

我研究发现,这里的G代表“ G”字样,有没有办法将其更改为表示十亿美元的B字样?

谢谢。

Mar*_*ark 10

如果您喜欢 SI 前缀的格式,但不喜欢实际的前缀,只需将其替换为简单的.replace

var f = d3.format("0.2s");

document.write(
  f(1e9).replace(/G/,"B")
);
Run Code Online (Sandbox Code Playgroud)
<script src="https://d3js.org/d3.v4.min.js"></script>
Run Code Online (Sandbox Code Playgroud)