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的类库

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(108)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-05-08 Time Management时间管理
2020-05-08 How to use git commit template
2020-05-08 git bash里面查看~/的绝对路径
2020-05-08 ConcurrentBag of strings and using .Contains in Parallel.ForEach
2020-05-08 cannot implicitly convert type 'bool?' to 'bool'. An explicit conversion exists (are you missing a cast?)
2019-05-08 User control's property loses value after a postback
2019-05-08 share memory cache across multi web application
点击右上角即可分享
微信分享提示