用途:NetworkX 是 Python 图与网络分析工具包,用于构建、操作和分析复杂网络,如社交网络、生物网络、交通系统、引文网络、知识图谱等实体关系系统。
主要能力:支持四种图类型——Graph(无向单边)、DiGraph(有向)、MultiGraph(无向多重边)、MultiDiGraph(有向多重边)。节点可为任意可哈希对象,可带属性。提供最短路径、度中心性、介数中心性、PageRank、连通性、聚类、社区检测(如 greedy_modularity_communities)、流、匹配、树算法、同构等算法。内置图生成器:完全图、环图、Karate 俱乐部图、Petersen 图、Erdős-Rényi 随机图、Barabási-Albert 无标度网络、Watts-Strogatz 小世界网络、网格图、随机树等。支持边列表、GraphML、GML、JSON、CSV、Pandas DataFrame、NumPy 数组、SciPy 稀疏矩阵等读写。可视化基于 matplotlib,支持 spring、circular、kamada_kawai、spectral 等布局,可按度着色、按中心性调整节点大小、按权重设置边宽,并可导出 PNG/PDF。
使用方式:安装可执行 uv pip install networkx 或 uv pip install networkx[default]。典型流程为创建或加载图、检查结构(节点数、边数、密度、连通性)、运行分析、可视化、导出结果。随机图生成与力导向布局应设置 seed 以保证可复现。
适用场景:网络结构建模、中心性分析、路径与社区发现、合成网络仿真、图数据格式转换与出版级可视化。
限制:浮点精度会使结果近似,影响最小/最大计算;每次运行需将图载入内存,大网络应使用稀疏矩阵、子图或近似算法;节点须可哈希;删除节点会同时删除关联边。官方文档见 https://networkx.org/documentation/latest/,GitHub 见 https://github.com/networkx/networkx。