首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用vis.js绘制巨树

用vis.js绘制巨树
EN

Stack Overflow用户
提问于 2018-06-29 16:11:53
回答 1查看 1.9K关注 0票数 3

我试图用vis.js 4.21.0绘制一个相当大的4.21.0(即~1k节点和~1k边)。以下是我的选项对象:

代码语言:javascript
复制
var options = {
    autoResize: true,
    height: '400px',
    clickToUse: false,
    layout: {
        hierarchical: {
            direction: 'UD',
            sortMethod: 'directed',
        }
    },
    physics: {
       stabilization: false,
       barnesHut: {
            gravitationalConstant: -80000,
            springConstant: 0.001,
            springLength: 200
       }
    },
    nodes: {
        shape: 'dot',
        size: 20,
        font: {
            size: 15,
            color: '#ffffff'
        },
        borderWidth: 2
    },
    groups: groups,
 };

问题是渲染需要4分钟(请参阅此简化JSFiddle)。在这个例子中,网络比矿井大得多,网络几乎是瞬间呈现的。

如何加快图表的绘制过程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-02 23:25:11

等等,你的小提琴没有你在你的帖子中提到的所有选项。例如,网络在几分钟过去之前根本不显示,但是如果您添加了physics: { stabilization: false },它就会立即显示出来(尽管它在这一点上不是静态的,并且会慢慢放松)。另外,在barnesHut: { ... }中加入physics,调整springConstant,可以改变松弛的速度。

但是,这里有一个棘手的部分:将您所拥有的不放松树(与stabilization: false)与vis.js 4.21.0和到达与4.19.1的树进行比较!看上去好多了:

比这个烂摊子:

这是较早报告,可能值得更多挖掘,但我可以肯定的是,4.19.1使最初的树更好地看到东西,甚至在放松之前。使用此版本,您甚至可以使用physcis: false并获得以下内容:

我会考虑使用这种方法,尽管它有缺点:

物理学的版本也在一定程度上受到了影响,所以.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51105775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档