我正在尝试将https://codepen.io/goodforenergy/pen/PNPxxv?editors=0010中的D3v3堆积条转换为D3v4,但是我无法正常调用stack()
。
在上面的示例中,对d3.layout.stack()(dataset)
的调用将y0
属性添加到数据集的对象:
通话前dataset
:{y=3, x="Test"}
通话后dataset
:{y=3, x="Test", y0=0}
但是,在D3v4中,调用d3.stack()(dataset);
时,不会发生这种魔术。因此,随后y0
是undefined
。
在这里添加y0
值缺少什么?如果条形图条不是堆叠在顶部而是彼此并排放置,那么堆叠条形图就不好了。
最佳答案
v4堆栈创建一个对应于y0,y1的值的数组
d [0] = y0
d [1] = y1
然后输入数据在d.values中。
https://github.com/d3/d3-shape/blob/master/README.md#stack
关于javascript - D3版本4中的堆栈布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46518447/