Javascript D3:如何动态设置;d";路径元素上的属性
对于其他每个属性,您都可以使用函数(d){}方法设置它的值,但是当我尝试在path元素的“d”attr上设置时,它在控制台中给我一个巨大的红色无效值错误。我的代码如下 以下是我正在努力实现的目标(我正在努力) 我需要为数据集中的每个数据元素创建一个进度图。它们都有不同的最大值。一个图表可能需要最大值4.5,而另一个图表可能需要最大值1.0。我要尝试的方法是,每次创建路径时调用一个函数,该函数将传递最大值,然后返回所需的arc变量。有什么建议吗Javascript D3:如何动态设置;d";路径元素上的属性,javascript,d3.js,graph,progressdialog,Javascript,D3.js,Graph,Progressdialog,对于其他每个属性,您都可以使用函数(d){}方法设置它的值,但是当我尝试在path元素的“d”attr上设置时,它在控制台中给我一个巨大的红色无效值错误。我的代码如下 以下是我正在努力实现的目标(我正在努力) 我需要为数据集中的每个数据元素创建一个进度图。它们都有不同的最大值。一个图表可能需要最大值4.5,而另一个图表可能需要最大值1.0。我要尝试的方法是,每次创建路径时调用一个函数,该函数将传递最大值,然后返回所需的arc变量。有什么建议吗 var arc = d3.svg.arc()
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"
})
尝试使用arc(d)代码>。当您执行类似于.attr(“d”,arc)
的操作时,d
参数将自动传递。在功能块内,您必须手动传递它。