这是我得到的problem。拖动或放大时,标签不会移动
错误:
未捕获的TypeError:无法读取未定义的属性“x”
对应最后一行。
function zoom() {
svg.select(".x.axis").call(xAxis);
svg.select(".y.axis").call(yAxis);
svg.selectAll(".dot")
.attr("transform", transform);
svg.selectAll("text")
.attr("transform", transform);
}
function transform(d) {
return "translate(" + x(d.x) + "," + y(d.y) + ")";
}
答案 0 :(得分:0)
当你这样做时......
svg.selectAll("text")
...您正在选择所有该SVG中的文本元素,其中一些文本没有绑定数据。
解决方案:给他们一个类(例如,.text
)并按该类选择:
svg.selectAll(".text")
.attr("transform", transform);
这是您更新的小提琴:https://jsfiddle.net/zoy0cxwq/