需要对d3selection.DATA()进行简单说明

时间:2019-06-11 09:08:22

标签: reactjs d3.js

我有一个具有4个字段的对象,每个字段包含一个包含600个数据点的数组。

我想将每个数组绘制在单独的d3.js图上-我认为这是小倍数。我对它的数据绑定部分还有些犹豫,似乎不能从一个容器转到多个svg追加。

我理解以下基本示例,但我认为缺少有关d3中数据绑定性质的信息:

      circleData = [[10, "rgb(246, 239, 247)"], [15, "rgb(189,201,225)"],

      [20, "rgb(103,169,207)"], [25, "rgb(28,144,153)"], [30, "rgb(1,108,89)"]];

      //Select the div element
      selectExample = d3.select("#data_example2");

      //We'll select all the circle from within the selected <div> element
      selectExample.selectAll("circle")
      .data(circleData)//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      .enter()
      .append("circle")
      .attr("cx", function(d){return d[0]*14})
      .attr("cy", 50)
      .attr("r", function(d){return d[0]})
      .style("fill", function(d){return d[1]});

基本上,我现在要做的只是用自己的数据对象替换circleData中的.data(circleData),并在其下附加轴和标签,基本上期望每个4个字段(子数组)都可以,将会弹出一个图形。 。(即

svgSelection.
.data(my_multi-field_array_object)
.enter()
.append("g")
... //continue with the individual plot's code 

毫无疑问,这不起作用。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

将数组的对象重新设置为对象的数组可以解决问题。 不知道为什么该功能将无法覆盖。