Graph 如何停止力有向图模拟

Graph 如何停止力有向图模拟,graph,d3.js,Graph,D3.js,我尝试使用D3对有向图进行HTML表示,方法是重用这个众所周知的示例: 我有一个包含5K个节点和20K条边的数据 问题是,当我加载页面时,它似乎永远不会完成分区(或者其他任何处理数据的操作),所以我迫不及待地想看到完整的结果 有什么方法可以停止模拟吗? 例如,大约20秒后,网络图被很好地分割,我希望它停止 simulation.stop() 停止模拟的内部计时器(如果正在运行),并返回模拟。如果计时器已停止,则此方法不执行任何操作。此方法对于手动运行模拟非常有用 我是这样做的 const si

我尝试使用D3对有向图进行HTML表示,方法是重用这个众所周知的示例:

我有一个包含5K个节点和20K条边的数据

问题是,当我加载页面时,它似乎永远不会完成分区(或者其他任何处理数据的操作),所以我迫不及待地想看到完整的结果

有什么方法可以停止模拟吗?
例如,大约20秒后,网络图被很好地分割,我希望它停止

simulation.stop()

停止模拟的内部计时器(如果正在运行),并返回模拟。如果计时器已停止,则此方法不执行任何操作。此方法对于手动运行模拟非常有用

我是这样做的

const simulationDurationInMs = 20000; // 20 seconds

let startTime = Date.now();
let endTime = startTime + simulationDurationInMs;

let simulation = d3.forceSimulation() 
    /*snip - set up your simulation*/
    .on("tick", onSimulationTick);

function onSimulationTick() {
    if (Date.now() < endTime) {
        /*update the simulation*/
    } else {
        simulation.stop();
    }
}
const SimulationDurationNMS=20000;//20秒
让startTime=Date.now();
让endTime=startTime+模拟持续时间nms;
let simulation=d3.forceSimulation()
/*剪-设置你的模拟*/
.on(“勾选”,onSimulationTick);
函数onSimulationTick(){
if(Date.now()