03-网络工具

snap.py

安装

 python -m pip install snap-stanford

说明

用法

Snap.py支持图和网络。

图创建

image-20210114104810542

迭代器

许多SNAP操作都基于节点和边缘迭代器,这些迭代器可有效实现在网络上工作的算法,而不论其类型(有向,无向,图,网络)和具体实现方式如何。

image-20210114104833966

通常,节点迭代器提供以下功能:

  • GetId(): 返回结点id

  • GetOutDeg(): 返回一个结点的出度

  • GetInDeg(): 返回一个结点的入度

  • GetOutNId(e): 返回第e条边的出口方向的结点id

  • GetInNId(e): 返回第e条边的入口方向的结点id

  • IsOutNId(int NId): 某一个结点n是否指向当前结点id

  • IsInNId(n): 当前结点id是否指向另一个结点n

  • IsNbrNId(n): 结点n是否为当前结点的邻居。

输入输出

使用SNAP,可以轻松保存和加载各种格式的网络。SNAP在内部以紧凑的二进制格式保存网络,但是还提供了用于以各种其他文本和XML格式加载和保存网络的功能。

例如,用于保存和加载图形的Snap.py代码如下所示:

操作图和网络

SNAP提供了丰富的功能,可以有效地操纵图形和网络。大多数功能支持所有图形/网络类型。

计算网络的结构特性

SNAP提供了丰富的功能,可以有效地计算网络的结构属性。大多数功能支持所有图形/网络类型。

image-20210114105217989

networkx

文档

Graphviz

文档

复杂的网络图使用$Graphviz$,简单的网络图使用$networkx$,$networkx$有很多算法包。

最后更新于

这有帮助吗?