【问题标题】:Automatic positions in Cytoscape graph for the nodesCytoscape 图中节点的自动位置
【发布时间】:2021-03-03 16:12:02
【问题描述】:

我有带有数据但没有位置的节点的 JSON。我想根据边和父 json 自动创建图形而不给出位置。它会这样做,但所有节点都在彼此之上。

https://stackblitz.com/edit/angular-kpnys1?file=src%2Fapp%2Fdemo_test.json

【问题讨论】:

    标签: cytoscape.js cytoscape


    【解决方案1】:

    您正在使用预设布局,如您在docs 中所见,它将节点放置在您手动指定的位置。

    如果您想使用自动定位的布局,请使用 cytoscape.js 提供的任何其他布局(null 布局除外)。

    文档提供了关于 core layouts 的详细描述,但也有一些布局扩展和一些很酷的功能 here

    【讨论】:

    • 太好了,我开始使用 Dagre,它运行良好,但是否可以减少两个节点之间的空间。例如:节点中的标题标题和 ID。这是堆栈闪电战stackblitz.com/edit/…
    • 在您的示例中,选择 45 的 nodeSep 似乎有点过分,在尝试了一些配置之后,类似 ``nodeSep: 10, edgeSep: 20, ...` 似乎更好。此外,您可以将标题节点缩小一点或使用父标签作为标题(您可以将该标签放在节点内部并使用白色?
    • 但是我需要一个在节点外部和一个在节点内部。可以有两个标题吗?
    • 是的,您可以通过扩展使用普通标签和 popper/tippy 标签
    • 我用更多的数据和边更新了 stackblitz,现在您可以看到父节点之间的间距不一致。例如:名称和地址现在有更多空间。这可以以任何方式保持一致吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多