NetworkX是一个用于研究图形和网络的Python库。 NetworkX是根据BSD-new许可证发布的免费软件。可用于创造和操作复杂网络,学习复杂网络的结构及其功能。
有了NetworkX你就可以用标准或者不标准的数据格式加载或者存储网络,它可以产生许多种类的随机网络或经典网络,也可以分析网络结构,建立网络模型,设计新的网络算法,绘制网络。
当然NetworkX单独存在不可能强大,这里春江暮客将使用广泛使用的其他常用python库绘制各种基础的网络图形。
1.绘制最基本的网络图
网络图由节点(node)和连接(edge)构成,在networkx里,pandas的datafrmae每一行代表一个连接里面的点,对应位置产生连接,例子中是from和to的每一个对应位置产生连接。
################导入所需库
import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
################绘制网络图
df = pd.DataFrame({ 'from':['A', 'B', 'C','A'], 'to':['D', 'A', 'E','C']})
basic_net=nx.from_pandas_edgelist(df, 'from', 'to')
fig = plt.figure()
nx.draw(basic_net, with_lab