What is a good network graph library for language X?

What is a good network graph library for language X?

I have noticed that a recurring question is: “What is a good network graph library for language X”. I have played with quite a few of the libraries and I can share my experiences with you.

PythonNetworkX is a robust library which has built-in visualization but also has an interface to Graphviz using pyGraphviz. (pyGraphviz and NetworkX are written by the same author). NetworkX is open source and a very easy to use.

PerlCircos is developed to visualize genomes and other highly complex datasets. It will always use a circular layout but that it often the most appropriate layout if your network is really large and its ‘modularity’ score is low. Circos is open source.

.NetNodeXL is developed by Microsoft Research and is both an add-on for Excel and a .Net 3.5 library. It’s pretty open (for Microsoft’s standards) and uses Fruchterman-Reingold algorithm for visualization.

JavaJUNG2 has recently been released and is also a robust library. Has extended visualization and key metrics support. JUNG2 is open source.

UbiGraphUbiGraph has interfaces to different languages including Python (and NetworkX has UbiGraph support), Ruby, PHP, Java, C, C++, C#, Haskell, and OCaml. It has very neat 3D visualization of network graphs using an XML-RPC server. The basic version is free, you have to pay for the professional version.

Standalone: You can always use an off-the-shelf package such as: Graphviz (Win, Linux, OSX), Pajek (Win), UCINET (Win), or even Visio (Win).

I am sure there are many more packages, but these are the ones that I have used myself. What other libraries or packages are available?

 回答1

You should add graph-tool to the python list. It is very complete, and it is implemented in C++, with the Boost Graph Library, making it orders of magnitude faster than python-only alternatives, such as NetworkX.

Disclaimer: I'm the author of graph-tool. :-)

https://git.skewed.de/count0/graph-tool/-/wikis/installation-instructions#windows  这个破玩意,居然不支持windows直接安装

Fully native installation on windows is not supported, but two viable options are either to use Docker (see here for instructions), or the Ubuntu userspace for windows (more information here and here), which allows the native Ubuntu packages to be installed as described above.

另外的备选

https://github.com/YaccConstructor/QuickGraph

https://www.codeproject.com/Articles/5603/QuickGraph-A-100-Csharp-Graph-Library-with-Graphvi

谈谈我从C#到Python的学习之路 这篇文章提到了,还是networkx比较靠谱

最简单粗暴的,应该还是用python的类库

原文地址:https://www.cnblogs.com/chucklu/p/14743261.html