我正在尝试遵循Object Constancy上Mike的示例。我有一个条形图,我的数据是这样的对象数组:
var data = [{id: "A", amount: 1.1}, {id: "B", amount: 9.8}, {...}, ...]
指定的键函数使用“ id”
var bar = svg.selectAll(".bar").data(data, d => d.id);
bar.enter可以按预期工作,我得到了一个预选值的条形(从菜单选项中获取),但是正在更新
var barUpdate = d3.transition(bar)
.attr("transform", d => "translate(" + (d.x0 = xScale(d.id)) + ")");
在抱怨
无法读取未定义的属性“ id”
我有点困惑,为什么未定义d.id,我希望键函数使正确的对象及其属性(.id和.amount)可用。任何帮助,将不胜感激。非常感谢!