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.
Python: NetworkX 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.
Perl: Circos 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.
.Net: NodeXL 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.
Java: JUNG2 has recently been released and is also a robust library. Has extended visualization and key metrics support. JUNG2 is open source.
UbiGraph: UbiGraph 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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.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