我想我有一个很简单的问题,但我无法弄清楚。我的数组如下:
var wordcount = [1, 2, 3, [{name: 'A', values: [0,1,3,9, 8, 7]},
{name: 'B', values: [0, 10, 7, 1, 1, 11]},
{name: 'C', values: [3, 1, 4, 4, 4, 17]},
{name: 'D', values: [4, 77, 2, 13, 11, 13]}
]]]
我正在使用以下代码来获取A,B,C和D
d3.select("#tooltippos")
.data(d[3])
.enter()
.append("div")
.text(function(d) { return d.name; });
但我一直错过第一个字母。只有B,C和D出现在div中。
答案 0 :(得分:7)
您需要选择不存在的元素以使选择正常工作。也就是说,您的代码应该是
d3.select("#tooltippos").selectAll("div")
.data(d[3])
.enter()
.append("div")
.text(function(d) { return d.name; });
目前,您匹配数据的选择仅包含一个元素(“#tooltippos”),该元素与数据的第一个元素匹配。因此,这不在输入选择中而不是绘制。