【问题标题】:d3 Missing first value in arrayd3 缺少数组中的第一个值
【发布时间】:2013-11-12 15:23:48
【问题描述】:

我想我有一个很简单的问题,但我想不通。我的数组如下:

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 中。

【问题讨论】:

    标签: arrays d3.js


    【解决方案1】:

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

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

    目前,您要匹配数据的选择仅包含一个元素(“#tooltippos”),该元素与数据的第一个元素匹配。因此,这不在输入选择中,也没有绘制。

    【讨论】:

    • 太棒了!非常感谢!!
    猜你喜欢
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多