d3缺少数组中的第一个值

B T*_*B T 2 arrays d3.js

我想我有一个很简单的问题,但我无法弄清楚.我的数组如下:

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]}
]]]
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码来获取A,B,C和D.

        d3.select("#tooltippos")                    
          .data(d[3])
          .enter()
          .append("div")
          .text(function(d) { return d.name; });
Run Code Online (Sandbox Code Playgroud)

但我一直想念第一个字母.只有B,C和D出现在div中.

Lar*_*off 7

您需要选择不存在的元素以使选择正常工作.也就是说,你的代码应该是

d3.select("#tooltippos").selectAll("div")                
      .data(d[3])
      .enter()
      .append("div")
      .text(function(d) { return d.name; });
Run Code Online (Sandbox Code Playgroud)

此时,您匹配数据的选择仅包含一个元素("#tooltippos"),该元素与数据的第一个元素匹配.因此,这不在输入选择中而不是绘制.