d3.js.以区域设置格式显示数据集编号

d3.js. To show dataset number in locale format

本文关键字:显示 数据集 编号 格式 设置 js 区域 d3      更新时间:2023-09-26

我有一个数字数据集数组:

var dataset = [ 2147000, 3750000, 3434000, 3095000, 8132000, 8875000, 7727000, 6605000 ];

和区域定义:

var ES = d3.locale (…)

我有这个代码渲染数据集:

svg.selectAll("text")
    .data(dataset)
    .enter()
    .append("text")
    .text(function(d) {
      return d;
    })

我想以地区格式显示数字,但我不知道如何告诉它(d)

这是一个相互依赖的工作。我想以本地格式显示栏内的标签。(第65行)http://codepen.io/aitormendez/pen/xRVNMb?editors=0010

I tried ES.numberFormat("$,.")

作为tickFormat使用的ES.numberFormat("$,.")是一个函数,并且给定一个参数(一个数字),它将返回给定指定格式的格式化字符串。因此,您格式化数字1000000,您只需通过调用ES.numberFormat("$,.")(d)(1000000)来使用该函数。

在你的代码中实现:

svg.selectAll("text")
    .data(dataset)
    .enter()
    .append("text")
    .text(function(d) {
      return ES.numberFormat("$,.")(d);
    })
一个更好的方法是将函数声明为
var nbrFormat = ES.numberFormat("$,.");

然后使用

.tickFormat(nbrFormat);

return nbrFormat(d);

将格式声明限制在一个地方,而不是两个地方。

见https://github.com/d3/d3 - 3. - x - api - reference/blob/master/formatting.md