我刚开始使用d3.js并复制了d3.js v3的示例并尝试将其调整为v4。我有以下部分代码:
var width = 960,
height = 500,
fill = d3.schemeCategory20;
// another code
var force = d3.forceSimulation()
.size([width, height]) // the error occurred at this row
.nodes([{}])
.linkDistance(50)
.charge(-200)
.on("tick", tick);
d3.forceSimulation()
是v4的运算符,所以我的问题是:"我应该如何使用所有以下运算符,使用d3.js版本4的新d3.forceSimulation()
语法" ?
提前致谢
答案 0 :(得分:2)
只是因为size()
不是simulation object method
有关详细信息,请参阅the docs
答案 1 :(得分:0)
根据此issue,您可以尝试如下使用forceX / Y力:
var force = d3.forceSimulation()
.size([width, height]) // the error occurred at this row
.nodes([{}])
.linkDistance(50)
.charge(-200)
.force("x", d3.forceX([width/2]).strength(0.01))
.force("y", d3.forceY([height/2]).strength(0.01))
.on("tick", tick);
您可以使用强度参数来控制图形的分散程度。