d3 js - 将点添加到没有路径数据解析的区域

时间:2015-06-25 06:55:12

标签: 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.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] + ")";
      }
    );
  };

它有效,但我认为我的代码很糟糕,如何在不解析区域结果的情况下获取翻译数据?

0 个答案:

没有答案