1

我正在尝试使用以下数据和以下方法创建一个非常简单的 d3.js 径向图表。我一直收到错误Uncaught TypeError: Cannot read property 'length' of undefined,还有其他人遇到过同样的问题吗?

用户数据

var userData = [
    {
        'key':'social',
        'value':1.1,
        'y':1.1,
        'y0':1.1
    },
    {
        'key':'focus',
        'value':1.1,
        'y':1.1,
        'y0':1.1
    },
    {
        'key':'activity',
        'value':1.1,
        'y':1.1,
        'y0':1.1
    }
];

附加图表

svg.selectAll(".userData")
      .data(userData)
    .enter().append("path")
      .attr("class", "userData")
      .attr("d", function(d) { return area(d.values); })
      .style("fill","newColor")
      .style("opacity",.6)
      .style("stroke","pink")
      .style("stroke-width",7);

目前生产:

在此处输入图像描述

尝试添加轴

svg.selectAll(".axis")
      .data(d3.range(angle.domain()[1]))
    .enter().append("g")
      .attr("class", "axis")
      .attr("transform", function(d) { return "rotate(" + angle(d) * 180 / Math.PI + ")"; })
    .call(d3.svg.axis()
      .scale(radius.copy().range([-5, -radius]))
      .ticks(5)
      .orient("left"))
    .append("text")
      .attr("y", 
        function (d) {
          if (window.innerWidth < 455){
            return -(window.innerHeight * .335);
          }
          else{
            return -(window.innerHeight * .335);
          }
        })
      .attr("dy", ".71em")
      .attr("text-anchor", "middle")
      .text(function(d, i) { return capitalMeta[i]; })
      .attr("style","font-size:16px;")
      .style("fill", function(d,i) {
        if ($.inArray(meta[i], unhealthyArray) != -1) {
           return "red";
       } else {
           return "black";
        }
    });
4

0 回答 0