我正在关注这个缩放示例。就我而言,我不知道如何为我的 svg 重绘数据。
在示例中,svg 是这样初始化的
chartBody.append("svg:path")
.datum(data)
.attr("class", "line")
.attr("d", line);
var line = d3.svg.line()
.x(function (d) {
return x(d.date);
})
.y(function (d) {
return y(d.value);
});
并在“缩放”功能中像这样重绘
svg.select(".line")
.attr("class", "line")
.attr("d", line);
在我的情况下
在里面:
userSvg.selectAll("circle")
.data(userNodes.slice(1))
.enter().append("svg:circle")
.on("click", function(d){ console.log(d.ind); })
.on("mousemove", function(d){ brushOnUser(d.ind); })
.on("mouseout", function(){ brushOnUser(); })
.attr("r", function(d) { return d.radius; })
.attr("cx", function(d, i) { return userNodesScaleX(d.x); })
.attr("cy", function(d, i) { return userNodesScaleY(d.y); })
.style("fill", function(d, i) { return 'gray'; });
重绘:
userSvg.selectAll("circle")
.attr("class", "circle");
当然,这种重绘是行不通的。
那么我该如何重绘这个呢?