我的.enter()d3出错了

时间:2014-07-07 16:39:22

标签: d3.js

我试图制作图表。我使用d3到.enter()来插入数据。我在.enter()上得到“Uncaught TypeError:undefined is not function”。数据肯定会将数据放入#act。

d3.select("#act")
    .datum(Avg(actD))
.enter().append("div")

2 个答案:

答案 0 :(得分:1)

您不需要将.enter().datum()一起使用,因为您没有执行join

d3.select("#act")
    .datum(Avg(actD))
    .append("div")

请参阅Mike Bostock的this SO answerthe docs以供参考。

答案 1 :(得分:0)

使用D3方法data

d3.select("#act")
    .selectAll("div")
    .data(Avg(actD))
    .enter().append("div")

data适用于单个和多个数据点。如果您使用数据,则它不会计算连接,因此您无法使用.enter()方法附加div。

来自文档:

  

selection.datum([值])

     

获取或设置每个选定元素的绑定数据。不像   selection.data方法,此方法不计算连接(因此   不计算进入和退出选择。)


实施例

d3.select("#act")
  .selectAll("div") // you need to first select an the existing / empty set before you append.
  .data([0]).enter()
  .append("div")
  .html("appended")
  .style("background-color", "red");

Codepen:http://codepen.io/agconti/pen/HtnJz