D3.js d3 js-向区域添加点而不进行路径数据解析
我得到了一个由以下函数生成的区域D3.js d3 js-向区域添加点而不进行路径数据解析,d3.js,D3.js,我得到了一个由以下函数生成的区域 area = d3.svg.area.radial().interpolate('cardinal-closed').angle(function (d) { return angle(d.index); }).innerRadius(function (d) { return radius(d.y0); }).outerRadius(function (d) { return radius(d
area = d3.svg.area.radial().interpolate('cardinal-closed').angle(function (d) {
return angle(d.index);
}).innerRadius(function (d) {
return radius(d.y0);
}).outerRadius(function (d) {
return radius(d.y0 + d.y);
});
我想在我的数据点上画一个点(圆圈),这就是我所做的:
makePoints = function(){
points = svg.selectAll(".point").data(layers[0].values);
points.enter().append("circle")
.attr("stroke", z(0))
.attr("fill", function(d, i) { return z(0) })
.attr("r", function(d, i) { return 3 });
points.exit().remove();
};
updatePoints = function() {
points.data(layers[0].values);
points.transition().attr("transform",
function (d, i) {
var vals = area([d]).split(',');
return "translate(" + vals[0].split('M')[1] + "," + vals[1].split('M')[0] + ")";
}
);
};
它可以工作,但我认为我的代码很糟糕,如何在不解析区域结果的情况下获得转换数据?使用用于生成区域的原始数据。@Larskothoff您能进一步解释吗?例如,原始数据确定区域的形状和点的位置,因此,您可以将其与比例一起使用来确定点的位置。