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您能进一步解释吗?例如,原始数据确定区域的形状和点的位置,因此,您可以将其与比例一起使用来确定点的位置。