堆栈溢出

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

我想要做的是点击一个按钮,它会自动布局图形看起来干净。 我的意思是最小的边交叉,节点之间的漂亮空间,甚至可能代表图形比例(加权边)。

我知道这完全是干净看图的主观,但是有谁知道一个算法,而不是重新发明轮子?

谢谢。


我建议你看看graphviz。 dot程序可以对图表进行规范,并为您“稍微干净”地生成网络图像。 如果您对理论背景感兴趣,那么该页面上的“理论”链接将为您提供一些可能相关的链接。


你会发现http:// graphdrawing.org/本教程由布朗大学教授罗伯托·塔马西亚Roberto Tamassia)提供 ,相当有帮助。

我喜欢Spring Embedder中的很多Force-Directed Techniques(教程中的第66-72页)。

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


另外JGraph,如果你想在Java中的布局(我在项目上工作)。

链接地址: http://www.djcxy.com/p/29213.html

上一篇: Stack Overflow

下一篇: Python Library/Module for (simple) Undirected Graphs