在这个bl.ocks d3示例中,节点如何获得随机的"cx“和"cy”属性?(他们的x和y位置)?他们是随机分配的吗?
我看到分配节点cx和cy的唯一代码是下面的行(在示例代码的底部):
node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });但是,无论是在数据中还是在代码中的任何其他地方,我都没有看到d.x或d.y被定义。他们是怎么安排的?
发布于 2015-04-22 20:46:01
力布局设置值。您在这里将布局连接到您的数据:
force
.nodes(graph.nodes)
.links(graph.links)
.start();来自文档 (重点雷):
Force.nodes(节点) 如果指定节点,则将布局的关联节点设置为指定的数组。如果未指定节点,则返回当前数组,该数组默认为空数组。每个节点具有以下属性:
在将节点传递到布局之前不需要设置这些属性;如果没有设置这些属性,则在调用start时,适当的默认设置将由布局初始化。但是,请注意,如果要在节点上存储其他数据,则数据属性不应与布局使用的上述属性冲突。
https://stackoverflow.com/questions/29808417
复制相似问题