我正在尝试根据数据动态缩放某些形状。这是我到目前为止的内容:
svg.selectAll(".point")
.data(data)
.enter()
.append("path")
.attr("class", "point")
.attr("d", d3.svg.symbol().type("triangle-up"))
.attr("transform", function(d) { return "translate(" + x(d.x) + "," +
y(d.y) + ")"; });
我可以添加另一个属性吗?我尝试使用以下方法,但不起作用:
.attr("transform", "scale(xMap)");
xMap是数据中缩放到一定范围的值。
最佳答案
您可以在同一匿名函数中执行translate
和scale
。除此之外,您还必须将字符串与数字连接起来。您的工作方式...
"scale(xMap)"
...您实际上是将“ xMap”传递给
scale()
。因此,应为:
.attr("transform", function(d) {
return "translate(" + x(d.x) + "," + y(d.y) + ") scale(" + xMap + ")";
});
关于javascript - d3缩放基本形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46722858/