什么是语言X的良好网络图库?

DrD*_*Dee 39 language-agnostic graph-theory graph

我注意到一个反复出现的问题是:"什么是语言X的良好网络图库".我和很多图书馆一起玩过,我可以与你分享我的经历.

Python: NetworkX是一个强大的库,它具有内置的可视化功能,但也有一个使用pyGraphviz的Graphviz接口.(pyGraphviz和NetworkX由同一作者撰写).NetworkX是开源的,非常容易使用.

Perl: 开发Circos可视化基因组和其他高度复杂的数据集.它将始终使用圆形布局,但如果您的网络非常大并且其"模块化"分数较低,则它通常是最合适的布局.Circos是开源的.

.Net: NodeXL由Microsoft Research开发,既是Excel的附加组件,也是.Net 3.5库的附加组件.它非常开放(对于微软的标准)并使用Fruchterman-Reingold算法进行可视化.

Java: JUNG2最近发布,也是一个强大的库.具有扩展的可视化和关键指标支持.JUNG2是开源的.

UbiGraph: UbiGraph具有与不同语言的接口,包括Python(和NetworkX具有UbiGraph支持),Ruby,PHP,Java,C,C++,C#,Haskell和OCaml.它使用XML-RPC服务器对网络图进行非常简洁的三维可视化.基本版本是免费的,您必须支付专业版.

独立: 您可以随时使用的现成的货架包,如:Graphviz的(赢,Linux和OSX),Pajek(胜),UCINET(胜),甚至Visio中(胜).

我相信还有更多的软件包,但这些是我自己使用的软件包.还有哪些其他库或包?

Tia*_*oto 9

您应该将图形工具添加到python列表中.它是非常完整的,它使用Boost图形库在C++中实现,使其比仅支持python的替代方案(如NetworkX)快几个数量级.

免责声明:我是图表工具的作者.:-)


and*_*otn 0

如果您喜欢本页上的示例,请查看 Mathematica\xe2\x80\x99s图形绘制功能。图库页面的作者 Yifan Hu 曾在 Wolfram Research 工作,在那里他为巨大的图形开发了图形绘制算法。这些算法现已集成到 Mathematica 中。根据您打算如何使用图形绘图,您可以通过使用 Mathematica 分析图形来获得巨大的好处;例如,请参阅这篇博文

\n