网络分析与可视化:从NetworkX到Gephi的实践之旅
1. 网络保存与数据交换
在进行网络分析时,将构建好的网络保存到文件是一个重要步骤,主要有以下几个原因:
- 后续分析需求:当需要计算各种网络指标和提取网络结构时,需要用到保存的网络数据。
- 可视化需求:若想使用Gephi获得更好的网络可视化效果,需通过文件将网络传递给Gephi。
- 数据共享需求:与其他研究人员共享网络时,他们需要包含实时网络边和节点的文件,而非静态图像。
NetworkX支持多种流行的文件格式,用于与其他软件交换网络数据,具体如下表所示:
| 格式 | 是否受Gephi支持 | 写入函数 | 读取函数 | 属性存储情况 |
| — | — | — | — | — |
| 邻接列表 | 是 | nx.write_adjlist() | nx.read_adjlist() | 不存储 |
| 边列表 | 是 | nx.write_edgelist() | nx.read_edgelist() | 不存储 |
| 图交换XML格式 | 是 | nx.write_gexf() | nx.read_gexf() | 存储 |
| 图建模语言 | 是 | nx.write_gml() | nx.read_gml() | 存储 |
| GraphML | 是 | nx.write_graphml() | nx.read_graphml() | 存储 |
| Pajek NET | 是 | nx.write_pajek() | nx.read_pajek() | 不存储 |
| Pickle | 否 | nx.wr