可视化具有超过 30k 条边的图网络

数据挖掘 可视化 图表 社会网络分析
2021-10-04 14:44:24

我有一个带有用户连接的数据集,我想创建一个有向网络图。

节点:~20.000 边:~33.000

我以前在 NodeXL 和 Gephi 上工作,但现在我在 Mac 上,我无法访问 NodeXL。

我尝试了 Gephi 和另一个名为 Cytoscape 的工具。他们俩都落后了,我几乎无法做一些统计。可视化图表是一个梦想。

有没有可以处理这么大的网络图的软件(或者 Python 库)?

3个回答

有!

网络x

如果你有一台好机器,我认为在 Networkx 上 20k-30k 节点边缘就可以了!Networkx 是 Python 中的一个很棒的库,特别是用于图形分析,因此除了可视化之外,您还可以使用强大的分析工具,但是可视化 20k 顶点需要大量 RAM 并且需要很长时间。

图形

Igraph 是另一个使用 Python、R 和 C 中的 API 进行图形分析的出色工具。您可以使用 Igraph 库做很多事情,包括漂亮的绘图工具。

折断

SNAP 是由斯坦福大学的 Jure Leskovec 和他的同事开发的。一个大规模的图形处理库,原生用 C 语言编写,带有 Python 中的 API。这个库可以在一台个人机器上处理巨大的图表。

  • PS.1这两个家伙都有与 Gephi 等不同图形软件的接口。
  • PS.2对于大图,如果可以的话,我强烈建议使用 C++。作为网络/图形专家,C++ 解决了许多问题!

Mathematica 的图形绘制

Mathematica 可以绘制 2D ( GraphPlot ) 和 3D ( GraphPlot3D ) 图(静态和交互式),并且有许多选项可用于微调显示和交互式内容。有一个非常详细的图形绘图语言概述,其中包含教程和示例。

StackOverflow 已经回答了这个问题。可视化具有一百万个顶点的图我建议使用 Graphexp 进行可视化,并将 JanusGraph 作为后端存储