我正在使用d3Queue和d3等值线。当我的数据是CSV格式时,它可以正常工作:
CSV数据:
state, count
1, 100
2, 200
3, 300
和
.defer(d3.csv, data, function(d) {
rateById.set(d.state, +d.count);
})
但是,现在我的数据是JSON格式。
JSON数据:
[
{
state: 1,
count: 100
},
{
state: 2,
count: 200
}
]
我将.defer
更改为:
.defer(d3.json, data, function(d) {
rateById.set(d.state, +d.count);
})
但它抛出错误:“无法读取属性'状态'为null”。这是否意味着数据没有被传递,或者我正在搞乱阅读JSON?
答案 0 :(得分:1)
阅读queue.js API,看起来应该可行:
.defer(d3.json, data) // .defer(task, [arguments]);
.await(function(d) {
rateById.set(d.state, +d.count);
}); // .await(callback)