【发布时间】:2016-07-18 23:06:31
【问题描述】:
我的应用程序应该根据数据类型将不同的元素附加到 SVG。我的代码或多或少是这样的:
var elements = svg.selectAll(".elements")
.data(someData)
.enter().append("g");
var circles = elements.filter(function (d,i) {
return d.type == "category1"
})
.append("circle")
var rectangles = smallCircles.filter(function (d,i) {
return d.type == "category2"
})
.append("rect")
所以,如果data.type = "catgory1",程序应该附加一个圆,如果它等于"category2",它应该附加一个矩形。我遇到的问题是我根据它们各自的索引(函数(d,i)中的“i”)设置它们在 SVG 上的位置。但是,为了做到这一点,我需要索引序列在这两种元素类型之间保持一致。有没有更好的方法来做到这一点,而不是只使用每次添加新元素时都会 ++ 的外部变量?
【问题讨论】:
标签: javascript d3.js