问题描述
我有一个使用sigma.js(和D3)的网络图。我导入JSON数据,然后启动强制图集布局算法(顺便说一句,我不明白为什么函数需要在括号之间加上“ s”才能起作用,但似乎确实如此(例如,函数{s.startForceAtlas2 ...)。如果有人可以解释这一点,那将很有帮助)
布局算法运行10秒钟,但是如果人们的CPU速度很慢,我希望有一个按钮可以重新启动相同的功能。我尝试了多种方法(eventlisteners,html按钮...),但是我似乎无法正确地使用按钮引用此函数。有什么想法吗?
我最终想用这个例子来制作不同的按钮来调用其他sigma.js函数,因此这将非常有帮助。
<html>
<head>
<style type="text/css">
#container {
max-width: 1440px;
height: 900px;
margin: auto;
}
</style>
</head>
<body>
<!-- The button-->
<p id="demo">Click me.</p>
<!-- The graph -->
<div id="container"></div>
<script src="sigma.core.js"></script>
<script src="sigma.parsers.json.js"></script>
<script src="./plugins/sigma.layout.forceAtlas2/worker.js"></script>
<script src="./plugins/sigma.layout.forceAtlas2/supervisor.js"></script>
<script>
sigma.parsers.json('data.json',{
container: 'container',renderer: {
container: document.getElementById('container'),type: 'canvas'
},settings: {
minNodeSize: 1,maxNodeSize: 30,defaultEdgeType: 'curve',labelThreshold: 16
}
},function force(s) {
s.startForceAtlas2({ barnesHutOptimize: true,slowDown: 2 });
window.setTimeout(function () { s.killForceAtlas2() },10000);
}
);
</script>
</body>
</html>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)