【发布时间】:2013-12-03 23:42:23
【问题描述】:
//add circles with price data
svgContainer.selectAll("circle")
.data(priceData)
.enter()
.append("svg:circle")
.attr("r", 6)
.style("fill", "none")
.style("stroke", "none")
.attr("cx", function(d, i) {
return x(convertDate(dates[i]));
})
.attr("cy", function(d) { return y1(d); })
//add circles with difficulty data
svgContainer.selectAll("circle")
.data(difficultyData)
.enter()
.append("svg:circle")
.attr("r", 6)
.style("fill", "none")
.style("stroke", "none")
.attr("cx", function(d, i) {
return x(convertDate(dates[i]));
})
.attr("cy", function(d) { return y2(d); })
在前半部分,带有价格数据的圆圈沿着图表中的相关线添加。现在我想对后半部分做同样的事情,将具有不同数据的圆圈添加到不同的行。但是,第一个圆圈的数据被第二个圆圈的数据覆盖,第二个圆圈永远不会被绘制。
我想我对这里发生的事情有一种直觉,但是有人可以解释一下到底在做什么以及如何解决问题吗?
可能的参考:
"键功能还决定进入和退出选择: 旧数据中没有对应键的新数据 成为输入选择,以及没有的旧数据 新数据中的对应键成为退出选择。这 剩余数据成为默认更新选择。”
【问题讨论】:
标签: javascript jquery d3.js