D3.js 内置用于生成绘图阵列?

D3.js 内置用于生成绘图阵列?,d3.js,D3.js,我需要在一个(可能是“不完整的”)矩形阵列中安排几个绘图。(我所说的“不完整”是指数组的最后一行的单元格可能比第一行的单元格少。) 我实现了一种依赖于HTML表的方法,如图所示,但在我看来,这是完全应该在d3.js中完成的事情。在重新发明车轮之前,有没有一种内置的方法可以做到这一点?(我希望找到一种方法,将轴和记号等细节结合起来,并处理角点情况,包括上面定义的“不完整”数组。)您可以使用与构建图表本身相同的选择API来实现这一点。因此,您可以这样做,而不是像d3.select('body').a

我需要在一个(可能是“不完整的”)矩形阵列中安排几个绘图。(我所说的“不完整”是指数组的最后一行的单元格可能比第一行的单元格少。)


我实现了一种依赖于HTML表的方法,如图所示,但在我看来,这是完全应该在d3.js中完成的事情。在重新发明车轮之前,有没有一种内置的方法可以做到这一点?(我希望找到一种方法,将轴和记号等细节结合起来,并处理角点情况,包括上面定义的“不完整”数组。)

您可以使用与构建图表本身相同的选择API来实现这一点。因此,您可以这样做,而不是像
d3.select('body').append('svg')

 var svg = d3.select("body").selectAll(".pie")
      .data(data)
    .enter().append("svg")
      .attr("class", "pie")
      .attr("width", radius * 2)
      .attr("height", radius * 2)

使用多个甜甜圈图表演示:

您可以使用与构建图表本身相同的选择API来完成此操作。因此,您可以这样做,而不是像
d3.select('body').append('svg')

 var svg = d3.select("body").selectAll(".pie")
      .data(data)
    .enter().append("svg")
      .attr("class", "pie")
      .attr("width", radius * 2)
      .attr("height", radius * 2)

使用多个甜甜圈图表进行演示:

在您的示例中,有更多的内容,我目前无法深入了解,但这里有一个指导原则:与使用数据绑定选项为每个图表创建N
path
s的方式相同,您还可以使用数据绑定来创建图表的容器,而不是使用
while
循环来创建它们。它有助于将打印数据构建为二维数组,图表在第1层,路径在第2层。您可以通过绑定到外部数组来创建所有图表,然后使用
each
,将每个图表路径的数据绑定到其容器的子级。希望能有所帮助..在你的示例中,有很多我目前无法理解的内容,但这里有一个指导原则:与使用数据绑定选项为每个图表创建N
path
s的方式相同,您还可以使用数据绑定来创建图表的容器,而不是使用
while
循环来创建它们。它有助于将打印数据构建为二维数组,图表在第1层,路径在第2层。您可以通过绑定到外部数组来创建所有图表,然后使用
each
,将每个图表路径的数据绑定到其容器的子级。希望能有帮助。。