用途:NetworkX 是 Python 中用于创建、操作和分析复杂网络与图的工具包,适用于社交网络、生物网络、交通系统、引文网络、知识图谱等含实体关系的场景。
主要能力:支持四种图类型:无向图 Graph、有向图 DiGraph、多重无向图 MultiGraph、多重有向图 MultiDiGraph。节点可为任意可哈希对象并携带属性,边支持权重等属性。提供最短路径、中心性(度中心性、介数中心性、PageRank 等)、社区发现、连通性、聚类、流、匹配、树算法等图算法;可生成经典图、Erdős-Rényi 随机图、Barabási-Albert 无标度网络、Watts-Strogatz 小世界网络等合成网络;支持边列表、GraphML、GML、JSON、CSV、Pandas DataFrame、NumPy 数组、SciPy 稀疏矩阵及数据库等读写;可基于 matplotlib 绘图,支持多种布局算法与节点、边样式定制,并可结合 Plotly、PyVis 做交互可视化。
使用方式:安装可执行 uv pip install networkx,或 uv pip install networkx[default] 安装可选依赖。典型流程为先创建或加载图,如 G = nx.Graph() 并 add_edges_from;再检查结构,如 G.number_of_nodes()、nx.density(G);随后调用所需算法,如 nx.shortest_path(G, source, target)、nx.degree_centrality(G)、community.greedy_modularity_communities(G);最后用 nx.spring_layout 与 nx.draw 可视化,或写入 GraphML 等格式导出。
限制与注意:涉及浮点数时结果受精度影响,最小、最大类计算可能受影响;每次运行需将图数据载入内存,大网络应使用稀疏结构、只加载必要子图、选用高效格式并考虑近似算法;随机图生成与力导向布局应设置随机种子以保证可复现;移除节点会同时删除其关联边。官网文档、教程与示例见 https://networkx.org/documentation/latest/,源码见 https://github.com/networkx/networkx。具体收费与商业条款资料未提供。