【发布时间】:2017-07-15 13:19:02
【问题描述】:
我尝试在 D3 svg 中添加不同形状大小的标记(例如,三角形、矩形、圆形), 例如,如果级别为管理员,则标记形状为圆形 如果 level 是 member ,则标记形状是三角形 如果 level 是 guest ,则标记形状是矩形 我尝试使用 gooup.each
var groups = svg
.style("overflow", "visible")
.selectAll("g")
.data(data)
.enter()
.append("g")
.attr("transform", function(d) {return "translate(" + projection([d.lon,d.lat])+ ")";});
groups.each(function(d) {
var elem = d3.select(this);
if (d.level == "admin") {
elem.append("rect").attr("width", 5).attr("height", 5)
.style("fill",function() {
return "red";
});
}
if (d.level == "member") {
elem.append("path").attr("d", 'M 100 100 L 300 100 L 200 300 z').attr('transform','scale(0.04) translate(-150,-130)')
.style("fill",function() {
return "green";
});
}
if (d.level == "guest") {
elem.append("circle").attr("r", 4).attr('cy',2).attr('cx',2)
.style("fill",function() {return "yellow";});
}
});
但它不能显示数据数组中的第一个数据,
来自my code,如您所见,它无法显示数据数组中的第一个数据,但我不知道如何修改。我真的很感谢你的帮助!
【问题讨论】: