在层次结构布局中的vis.js级别排序

时间:2016-12-22 13:21:11

标签: javascript vis.js vis.js-network

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

我希望获得类似于此处给出的布局: Expected Layout

我的vis.js选项如下;

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

生成此排序布局的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

我建议您尝试启用物理学,以理清交叉的边缘等。

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

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

答案 1 :(得分:-2)

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

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