我正在尝试将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);时,不会发生这种魔术。因此,随后y0undefined

在这里添加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/

10-10 02:13