7

我有一个相当简单的节点层次结构,但是当 vis.js 绘制它们时,每个级别上的节点顺序没有多大意义 - 有很多交叉边缘(截图:默认布局

我希望得到一个类似于这里给出的布局: 预期布局

我的 vis.js 选项如下;

{
    "layout": {
        "hierarchical": {
            "direction": "LR",
            "sortMethod": "directed",
            "nodeSpacing": 200,
            "treeSpacing": 400
        }
    },
    "edges": {
        "smooth": {
            "type": "continuous"
        }
    },
    "nodes": {
        "physics": false
    }
};

产生这种排序布局的最佳方法是什么?

4

2 回答 2

0

我建议您尝试启用物理,这将解决边缘交叉等问题。

但是,在分层布局中,最好在引擎完成第一次迭代后通过捕获 'stabilizationIterationsDone' 事件来禁用引擎,如下所示:

network.on("stabilizationIterationsDone", function(){
  network.setOptions( { physics: false } );
});

于 2018-09-20T13:33:32.073 回答
-4

你应该删除引号。这些是对象的属性,而不是字符串。它应该是这样的:

layout: {
    hierarchical: {
        direction: "LR",
        sortMethod: "directed",
        nodeSpacing: 200,
        treeSpacing: 400
    }
},
edges: {
    smooth: {
        type: "continuous"
    }
},
nodes: {
    physics: false
}
于 2017-01-03T16:40:57.780 回答