我是可视化的新手。如今,我经常遇到需要可视化的基于图形的数据。但是,不同类型的数据需要不同的布局。而且由于我没有足够的经验,我不知道不同的图形布局算法。
我想要一个带有伪代码或代码(任何语言)的图形布局算法列表,我在实现某些图形时可以参考这些算法。
我是可视化的新手。如今,我经常遇到需要可视化的基于图形的数据。但是,不同类型的数据需要不同的布局。而且由于我没有足够的经验,我不知道不同的图形布局算法。
我想要一个带有伪代码或代码(任何语言)的图形布局算法列表,我在实现某些图形时可以参考这些算法。
还有更多的 Julia 代码在这里
我正在尝试使用 Java 编写其中的一些内容。 Renata Vaderna、Željko Vuković、Igor Dejanović 和 Gordana Milosavljević 发表了一篇题为“ Graph Drawing and Analysis Library and Its Domain-Specific Language for Graphs' Layout Specifications” 的论文,他们在其中将自己的库与JUNG等其他库进行了比较。
那里有足够的代码可以帮助您入门。
如果您对算法本身感兴趣,而不是对能够做到这一点的软件(其中有很多)感兴趣,请查看Yifan Hu的一些论文,其中对某些类型的算法进行了很好的介绍(并非详尽无遗)。
Gibson、Faith 和 Vickers 写了一篇论文,比较了不同的关系图布局技术,分析了它们在哪些方面表现出色,在哪些方面表现不佳。虽然它们不包含伪代码,但它们提供了一个很好的概述,您可以使用它来搜索特定的算法。
您可以从Wikipedia开始,R 包igraph
有几种算法可以提供很好的线索/参考,包括 layout.random、layout.circle、layout.sphere、layout.fruchterman.reingold、layout.kamada.kawai、layout.spring、layout .reingold.tilford、layout.fruchterman.reingold.grid、layout.lgl、layout.svd 和 layout.norm