8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

图形自动布局算法

As3adTintin 2月前

45 0

为了简化问题,我有一个包含二维平面上的节点和边的图。我想要做的就是单击一个按钮,它就会自动布局图以查看...

为了简化问题,我有一个包含二维平面上的节点和边的图。

我希望能够单击一个按钮,然后它会自动布局图形,使其看起来干净整洁。我的意思是,边缘交叉最少,节点之间有良好的空间,甚至可以表示图形比例(加权边缘)。

我知道这对于什么是干净的图表来说是完全主观的,但是有谁知道可以从一种算法开始,而不是重新发明轮子吗?

谢谢。

帖子版权声明 1、本帖标题:图形自动布局算法
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由As3adTintin在本站《algorithm》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我建议你看一下 graphviz 。该 dot 程序可以获取图形的规范并为你生成网络图像,比较“干净”。我链接到了“理论”页面,如果您对理论背景感兴趣,该页面会提供一些可能相关的链接。如果您只是想要解决您面临的布局问题,那么库和工具本身已经足够成熟。

  • 答案并没有明确提到理论链接。它更像是“如果你对理论感兴趣”。最好是提到理论链接和“如果你对应用感兴趣”。

  • 很公平。我理解 OP 想要解决布局问题(而不是重新实现解决方案),并以此为基础(他或她无需重新发明一个经过充分测试、生产质量好的“轮子”)。

  • 您会发现 http:// graphdrawing.org / 布朗大学教授 撰写的 Roberto Tamassia 本教程

    我很喜欢 Force-Directed Techniques(本教程第 66-72 页),比如 Spring Embedder .

    你假设任意两个相邻节点之间存在弹簧或其他力,并让自然(模拟)完成工作:)

  • @xhg 谢谢!我编辑了布朗大学 Roberto Tamassia 页面的链接。

  • 我想说的是 Noufal Ibrahim,但您也可以更精确地查看 graphviz 项目的 C API。它包括一个用于构建包含所有节点和边的图形的库( libgraph.pdf ),以及一个用于布局图形的库( libgvc.pdf )(只需计算每个节点的位置),因此您可以在自己的 UI 中显示它。

  • 如果您想要 Java 中的布局, 也可以 使用 JGraph

  • 链接现在重定向到 draw.io。github.com/jgraph/jgraphx 更正确吗?

  • 最流行的布局实际上是如何呈现的,这是一个不错的视觉指南:点击 链接

  • 虽然这可能从理论上回答了这个问题,但最好在这里包含答案的重要部分,并提供参考链接。

  • 对于 javascript,我推荐微软的这个库: https://microsoft.github.io/msagljs/

返回
作者最近主题: