知识图谱(关系网络)可以用简单的形状和线条显示复杂的系统,帮助我们理解数据之间的联系。我们今天将介绍15个很好用的免费工具,可以帮助我们绘制网络图。
networkx
networkx是一个用于处理网络的python工具。许多人在python中处理图数据时使用networkx。它也是许多图ai工具的基础。
github: https://github.com/networkx/networkx
graph-tool
graph-tool是一个用于处理网络的python包。它可以:处理图数据,并且进行计算。graph-tool不同于其他python工具。它的主要部分是用c++编写的,所以它非常快,并且使用内存的更少。
https://graph-tool.skewed.de/static/doc
graphviz
graphviz使绘制图形变得容易。像一些pytorch的可视化库,还有xgboost等树型模型的可视化都是用了这个库
https://graphviz.org/
ipycytoscape
cytoscape是一个查看和处理复杂网络的免费工具。它始于研究生物的科学家,但现在每个人都可以使用。
js是它的网页版本,ipy则是在jupyter notebook中使用的版本。它可以让熟悉pandas、networkx和numpy等python工具的人在notebook中显示网络数据,并通过简单的步骤更改其外观。
https://github.com/cytoscape/ipycytoscape
ipydagred3
dagre是一个javascript的工具,它与一个名为dagre3 -d3的前端工具一起工作,该工具使用d3js来显示箭头。而ipydagred3是一个在jupyterlab中使用dagred3封装。
github: https://github.com/timkpaine/ipydagred3
ipysigma
sigma.js是一个可以通过快速、流畅的图片绘制网络图的javascript工具。它可以很好地处理大量数据,并允许更改图的外观。
ipyssigma是jupyterlab的一个封装,它将sigma.js与python的networkx包结合在一起。可以web浏览器中查看网络结构。
github: https://github.com/medialab/ipysigma
netwulf
netulf是可以以有趣的交互式方式查看networkx图对象。它非常容易使用,可以直接从python或jupyter notebook调用。
它对研究很有用,因为它可以快速预览和改变网络结构。只需给它一个graph对象,就可以设计还可以进行保存。
github: https://github.com/benmaier/netwulf
nxviz
nxviz是一个使用matplotlib轻松绘制图数据的python包,它可以制作不同类型的图形,如circos, arc, matrix, hive和parallel plot。
https://github.com/ericmjl/nxviz
py3plex
py3plex是python中用于探索和显示复杂网络的工具。它通过点或线的额外信息来分解、绘制和研究网络。
https://github.com/skblaz/py3plex
py4cytoscape
py4cytoscape是一个python版本的cytoscape工具。它可以让你在不学习新方法的情况下在r和python之间切换网络的计算任务。它提供了许多在python或jupyter notebook中使用的功能。这个工具包非常适合r和python双修的小伙伴使用。
https://github.com/cytoscape/py4cytoscape
pydot
pydot是graphviz的python接口,用纯python编写。它可以解析并转储为graphviz使用的dot语言。
https://github.com/pydot/pydot
pygraphistry
pygraphistry是一个用于大图的python库。可以帮助快速获取数据、提出问题、修改数据并看到全局。它需要graphhistry的服务器配合,所以可以处理大量的数据,并且支持gpu计算,所以计算的速度很快。
https://github.com/graphistry/pygraphistry
python-igraph
python-igraph是在python中使用igraph的一种方式。igraph是一个用c语言制作的研究复杂网络的免费工具。它还可以与r、mathematica和c/ c++一起使用。
https://github.com/igraph/python-igraph
pyvis
pyvis是一个python包,用于创建和可视化交互式图形网络。
https://github.com/westhealth/pyvis
snap
snap是一种用于分析和处理大型网络的通用高性能系统。图由节点和节点之间的有向/无向/多边组成。网络是节点和/或边缘上有数据的图。
用c++编写的snap库是为快速工作和清晰的网络图而设计的。它处理有很多点和线的大网络,找出它们的形状,形成新的网络,并且可以在工作时改变一些东西。
https://github.com/snap-stanford/snap
https://avoid.overfit.cn/post/56bc3ed7328b4046bc5e5d1efa935a86
作者:meng li
发表评论