【发布时间】:2016-08-19 15:47:19
【问题描述】:
这个问题是上一个题为“初始化图形后 D3-Force 更新参数”(D3-Force updating parameters after initializing graph) 的后续问题,@altocumulus 回答了这个问题。
我正在尝试在修改某些节点的半径后更新模拟力。但是,当我致电 forceCollide 说明更改时,它不起作用。
图表首先正确启动,使用forceCollide 和一个使力与半径对应的函数:
var forceCollide = d3.forceCollide()
.radius(function(d){return d.radius;})
.iterations(2)
.strength(0.95);
var simulation = d3.forceSimulation()
.velocityDecay(velocityDecay)
.force("collide", forceCollide);
然后我修改d.radius 对象并希望forceCollide 反映更改。但是,当我再次拨打forceCollide 时,它不起作用:
forceCollide.radius(function(d){
d.radius;})
对为什么会发生这种情况有任何想法吗?
【问题讨论】:
标签: d3.js force-layout d3-force-directed