0
我想展示一系列超形式的形状,其中一半是一个形状和另一半。不能返回超级公式d3
var coords = d3.range(n).map(function(i,d) {
return [(i+1)*w/(n+1) , h/2];
});
var svg = d3.select("body").append("svg:svg")
.attr("width", w)
.attr("height", h);
var g = svg.selectAll("g")
.data(coords)
.enter().append("svg:g");
var shape = d3.superformula()
.type("square")
.size(4000)
.segments(360);
var shape2 = d3.superformula()
.type("triangle")
.size(4000)
.segments(360);
g.append("path")
.attr("transform", function(d) { return "translate(" + d + ")"; })
.attr("d", shape);
但是,当我试图改变最后一行,并创建一个函数返回要么超级公式形状,什么也不显示:
.attr("d", function(d,i) {if (i < n/2.0){return shape} else {return shape2}});
的目的仅是显示一种类型,
var shape
完美以下工作
该功能对普通路径变量(例如"M150 0 L75 200 L225 200 Z"
)有效。有没有特定的超变量变量,使它不能正常工作?