我下面的迈克·博斯托克的教程在这里创建一个气泡图......只是我用我自己的数据集,我使用D3 V4.我对d3很新,我理解v4中v4的变化很多.我将示例代码转换为v4时遇到问题.
例如,我在d3 v3中转换了这段代码:
var bubble = d3.layout.pack()
.sort(null)
.size([diameter, diameter])
.padding(1.5);
Run Code Online (Sandbox Code Playgroud)
至:
var bubble = d3.pack(dataset)
.size([diameter, diameter])
.padding(1.5);
Run Code Online (Sandbox Code Playgroud)
以上是正确的吗?我不确定,因为到目前为止我没有任何错误.
但是我在下面的代码中遇到错误:
var node = svg.selectAll(".node")
.data(
bubble.nodes(root)
.filter(function(d) {
return !d.children;
})
)
.enter()
.append("g")
.attr("class", "node")
.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")";
});
Run Code Online (Sandbox Code Playgroud)
用一个bubble.nodes is not a function.d3 v4中的等价物是什么?
这是您更新的小提琴:https://jsfiddle.net/r24e8xd7/9/.
应使用d3.hierarchy构造根节点:
var nodes = d3.hierarchy(dataset)
.sum(function(d) { return d.responseCount; });
Run Code Online (Sandbox Code Playgroud)
然后可以调用包布局:
var node = svg.selectAll(".node")
.data(bubble(nodes).descendants())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3727 次 |
| 最近记录: |