使用数组制作d3.map

时间:2017-04-06 18:36:25

标签: javascript d3.js

我正在研究example of d3。目前,该示例从unemployment.tsv

读取数据
d3.queue()
    .defer(d3.json, "https://d3js.org/us-10m.v1.json")
    .defer(d3.tsv, "unemployment.tsv", function(d) { unemployment.set(d.id, +d.rate); })
    .await(ready);

但是,我更愿意将数据保存在数组变量中并使用它。

var idRates = [
  ["01001","5.1"],
  ["01003","4.9"],
  ... ...
]

有谁知道如何修改代码并使用此idRates?我想我们需要使用idRates制作unemployment d3.map ...

这是plunker,其中包含部分数据......

1 个答案:

答案 0 :(得分:-1)

要从数组中生成d3.map,我们可以执行以下操作:

for (var i = 0; i < idRates.length; i++){
  unemployment.set(idRates[i][0], +idRates[i][1]);
}

我们实际上是在迭代数组时从tsv数据中设置地图中的属性。

此外,由于我们不再使用tsv文件,因此我删除了加载它的行。

d3.queue()
    .defer(d3.json, "https://d3js.org/us-10m.v1.json")
    //.defer(d3.tsv, "unemployment.tsv", function(d) { unemployment.set(d.id, +d.rate); })
    .await(ready);

在这里检查分叉的Plunkr - https://plnkr.co/edit/wHEbk4faWyyvWHG1TrHU?p=preview