我有一个具有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
毫无疑问,这不起作用。我在做什么错了?
答案 0 :(得分:0)
将数组的对象重新设置为对象的数组可以解决问题。 不知道为什么该功能将无法覆盖。