对于其他所有属性,您可以使用函数(d){}方法设置它的值,但是当我尝试在路径元素的“d”attr上执行此操作时,它会给我一个巨大的红色无效控制台中的值错误。我的代码如下。
这就是我想要完成的事情(我正在努力) 我需要为我的数据集中的每个数据元素创建一个进度图表。它们都有不同的最大值。 1图表可能需要最大值4.5,而另一个图表可能需要最大值1.0。我试图去做的方法是每次创建一个路径时调用一个函数,该函数将被传递最大值,然后返回所需的弧变量。有什么建议吗?
var arc = d3.svg.arc()
.startAngle(0)
.endAngle(180 * (Math.PI / 180))
.innerRadius(50)
.outerRadius(100);
// Create a variable to append the svg/paths too
var container = d3.select("#aeGroupMarginSlide");
// Create an svg element and append a path for each data element
var svg = container.selectAll(".aeGroupMarginSvg").data(data);
svg.enter()
.append("svg")
.attr({
"class": "col-sm-4 col-md-4 col-lg-4 aeGroupMarginSvg",
"height": 300
})
.append("path")
.attr({
"d": function (d) { return arc; },
"transform": function (d) {
var w = $(this).parent().width();
var h = $(this).parent().height();
return "translate(" + (w / 2) + ", " + (h / 2) + ")"
},
"fill": "white"
})