传递给d3 .data()
的内容所需的格式是什么?
在这个jsfiddle中,我尝试为每个指标创建几个<div>
元素。不幸的是,没有任何事我假设这与不正确的数据结构有关?
答案 0 :(得分:1)
这里的主要问题是您尝试使用哈希作为数据源,而d3则希望您的数据采用数组格式。
如果可以,请修改数据源,以便以阵列格式接收数据。如果无法做到这一点,您可以使用d3.entries
函数将对象转换为数组:
var listContainers = d3.select('#lists').selectAll('div')
.data(d3.entries(data))
.enter().append('div')
.attr('class', 'listContainer');
listContainers.append('h5')
.text(function(d) {
return d.key;
});
var item = listContainers.selectAll('.item').data(function(d) {
return d.value;
}).enter()
.append('div')
.attr('class', 'item')
.text(function(d) {
return 'average_dif = ' + d.average_dif;
});
// ...