0

首先,我创建一个选择并向其中添加一些内容。为了便于阅读,我将其剥离:

arcData = [
    {data: [{label: "first"}], otherProp: value},
    {data: [{label: "second"}], otherProp: value}];

arcSelection = svg.selectAll("arc").data(arcData);

arcSelection.enter().append("g").append("path").attr("d", myArcDefinition);

我尝试使用来自父级的数据添加嵌套选择:

arcDataSelection = arcSelection.selectAll("text").data(function(singleArc, arcIndex) {
  return singleArc;
});
arcDataSelection.enter().append("text").text(function(d) {
  return d.data.label;
});

但是text在 DOM 中没有创建任何对象。如何在使用父级数据的嵌套选择中正确创建元素?

我正在尝试遵循此处显示的模式:http: //bost.ocks.org/mike/nest/

4

1 回答 1

0

要使用嵌套选择,您需要有嵌套数据。您正在传递一个一维数组(即未嵌套)。再看看你链接到的例子——那里使用的数据是一个二维数组。

于 2013-03-31T11:50:58.717 回答