d3多维数组成组条形图

时间:2020-03-12 22:17:36

标签: javascript d3.js multidimensional-array

我有一系列数据,这些数据从JSON数组动态生成D3中的分组条形图。每组可能需要任意数量的条,我的样本数据需要4。我遇到的问题是,在添加条时,要在本地循环的条列表。这是数据示例:

Array(3) [ 90.28, 28.27, 42.44 ]
Array(3) [ 92.09, 82.62, 99.64 ]
Array(3) [ 97.11, 74.71, 98.58 ]
Array(3) [ 66.67, 50.83, 66.67 ]
Array(3) [ 73.21, 51.73, 69.99 ]
Array(3) [ 71.4, 50.73, 73.17 ]
Array(3) [ 97.17, 73.52, 99.57 ]
Array(3) [ 65.29, 58.85, 74.83 ]

因此,在这种情况下,我已经创建了8个组,但是当我遍历实际的条形图以创建3个单独的矩形时,我不知道如何访问数组的第二个元素并生成我的酒吧。我以为有一种方法可以只在(d,i,j)中获取'j'的索引,但这只是给我提供了对主要对象的引用,而不是当前的迭代。经过数小时的尝试,我再次来到这里。这是我用来创建组并追加rects的基本代码:

var groups = canvas.selectAll("rect")
  .data(dataArray)
  .enter()
  .append("g")
  .attr("transform", function(d, i) {
      return "translate( 50 ," + (i * 50) + ")";
    })

groups.append("rect")       
  .attr("width", function(d,i,j) { console.log(j); return (j + 1) * 100 })
  .attr("height", 10)
  .attr("fill", "orange");
});

谢谢!

0 个答案:

没有答案
相关问题