Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3js.data向下搜索绑定数据到当前选择的新数据数组和数据键_Javascript_D3.js_Svg - Fatal编程技术网

Javascript d3js.data向下搜索绑定数据到当前选择的新数据数组和数据键

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

我有一个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 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)并确认对象的格式正确。