这是我的条形图的一个简化的、面向公众的版本。我似乎无法添加任何东西。我正在按照本教程尝试将 x 轴的垂直线和每个条形图内的文本添加到我的图表中,但两者都没有显示。基本上没有真正显示我尝试添加的内容,但我能够添加您可以在 graph.js @ line 65 中看到的 x 轴线。您可以在代码中看到我尝试在图中添加线条的位置 line graph.js 中的 56 个。x 值是任意的,因为我只是想让它们显示出来。我究竟做错了什么?
问问题
75 次
1 回答
1
问题是您的选择器“line”不够具体。文档中已经有 'line' 元素;它们形成轴刻度。
因此,您的代码正在执行以下操作。它选择现有的线元素并将您提供的数据绑定到这些元素。由于这些元素已经存在,因此 enter() 选择将为空。这意味着您的 append("line") 命令将永远不会被执行:
var lines = svg.selectAll("line")
.data(data)
.enter().append("line")
您可以通过添加一个类来提供更多的特异性。例如以下应该工作:
var lines = svg.selectAll("line.rules")
.data(data)
.enter().append("line")
.attr("class", "rules");
有关进入、更新和退出选择的更多信息,请参阅 Mike 的文章Thinking with Joins。
于 2012-10-26T20:46:27.343 回答