1
我想在窗口大小調整時更新氣泡圖的模擬。到目前爲止,氣泡的半徑調整了大小,但cx座標不更新,並且氣泡保持在第一次渲染的位置。在d3.vs4上調整D3 ForceSimulation
var simulation=d3.forceSimulation()
.force('x',d3.forceX(function(d){return xScale(d.n);}))
.force('y',d3.forceY(height))
.force('collide',d3.forceCollide(function(d){return rScale(d.m);}));
simulation.nodes(data)
.on('tick',ticked);
function ticked(){
dot
.attr('cx',function(d){return d.x;})
.attr('cy',function(d){return d.y;})
}
d3.select(window).on('resize',resize);
function resize(){
//get width of window
//update xScale and rScale
//update radius of bubbles
simulation
.force('x',d3.forceX(function(d){return xScale(d.n);}))
.force('y',d3.forceY(height))
.force('collide',d3.forceCollide(function(d){return rScale(d.m);}));
simulation.nodes(data)
.on('tick',ticked);
function ticked(){
dot
.attr('cx',function(d){return d.x;})
.attr('cy',function(d){return d.y;})
}
}