Javascript d3js.data向下搜索绑定数据到当前选择的新数据数组和数据键
我有一个d3选项,看起来像这样:Javascript d3js.data向下搜索绑定数据到当前选择的新数据数组和数据键,javascript,d3.js,svg,Javascript,D3.js,Svg,我有一个d3选项,看起来像这样: var circles = release.selectAll("circle") .data(function (d) { return d.values; }, function (d) { return d.key; }) .enter().append("circle") [ { key: name, values: [data] }, ...] 发布的数据如下所示: var cir
var circles = release.selectAll("circle")
.data(function (d) { return d.values; }, function (d) { return d.key; })
.enter().append("circle")
[ { key: name, values: [data] }, ...]
发布的数据如下所示:
var circles = release.selectAll("circle")
.data(function (d) { return d.values; }, function (d) { return d.key; })
.enter().append("circle")
[ { key: name, values: [data] }, ...]
我试图深入到嵌套的[data]数组,添加svg圆圈。上面的方法不起作用,它创建的所有元素都是d.values中第一个元素的1个圆和d.key中的1个圆。如果我删除该键功能,它将起作用:
var circles = release.selectAll("circle")
.data(function (d) { return d.values; })
.enter().append("circle")
一开始就没有圆圈。我使用的是d3.v3.js版本3.3.8。你知道为什么这个关键功能不起作用吗
添加了更多的代码部分,希望它有助于显示我在绑定整个数据集之前定义了一个键函数
var individual_release = gEnter.selectAll(".individual_release")
.data(data, function (d) { return d.key; });
var release = individual_release.enter()
.append("g")
为什么要使用按键功能?中的
d
将有d.values
中数组的一个元素--这些元素是否具有key
属性?值中的数据元素是否具有属性?key
属性?d没有key属性。它具有x和y属性。我试图确保具有相同键的圆集得到更新。我遇到了一个问题,当我更改数据数组时,这些元素没有正确更新。如果这些元素没有.key
属性,则不能在key函数中使用它们。这就是它不起作用的原因。添加了一个键
属性到值对象数组中的对象,但仍然遇到相同的问题。这些对象现在看起来像{key:,x:,y:}
,还添加了一个console.log(d)并确认对象的格式正确。