我想使用d3在地理地图上绘制一个脉动的 warbling 圈,使用this example作为指导。然而 - 我知道这是一个非常基本的问题,所以道歉 - 我似乎无法让选择器正确。以下是相关代码:
layer2
.attr("id", "locations")
.selectAll(".state")
.data(columbia.features)
.enter().append("circle")
.attr("class", "location")
.attr("r", "4px")
.attr("cx", function(d) { return proj(d['geometry']['coordinates'])[0]; })
.attr("cy", function(d) { return proj(d['geometry']['coordinates'])[1]; })
.attr("d", path)
.each(pulse);
function pulse() {
var circle = svg.select(".location");
console.log(circle);
(function repeat() {
circle = circle.transition()
.duration(2000)
.attr("stroke-width", 20)
.attr("r", 10)
.transition()
.duration(2000)
.attr('stroke-width', 0.5)
.attr("r", 200)
.ease('sine')
.each("end", repeat);
})();
}
现在我有:
var circle = svg.select(".location");
我应该拥有什么而不是.location
?
修改:得到它;我需要selectAll
,而不是select
。