我正在尝试使用d3构建气泡图。在d3 v3中一切都很好。但在改为d3 v4后,气泡消失了。看来下面的代码在v4中不起作用。功能"值"被改成了其他一些东西。
pack = d3.pack()
.padding(2)
.size([this.diameter - this.margin, this.diameter - this.margin])
.value(function (d) { return d.size; });
以下是D3 V3中的示例。如何将其更改为d3 v4? https://embed.plnkr.co/qM3qrk3swvalQFBh1Db1/
谢谢!
答案 0 :(得分:0)
“。value”不能在d3v4中使用。需要将其更改为:
let pack = d3.pack()
.size([diameter - margin, diameter - margin])
.padding(2);
要获取节点,您需要使用pack(root).descendants()
。对于root,从d3.hierarchy获取它。希望这会对某人有所帮助。
let root = d3.hierarchy(root)
.sum(function(d) { return d.size; })
.sort(function(a, b) { return b.value - a.value; });
let nodes = pack(root).descendants();