创建一个简单的图
导入库
import networkx as nx
创建一个空图(不包含节点和边)
G = nx.Graph()
# 添加节点
G.add_nodes_from([1,2,3,4])
# 添加边
G.add_edges_from([(1,2),(1,3),(2,3),(2,4)])
可视化
nx.draw(G, node_size=500, with_labels=True)
度平均度以及度分布
# 获取网络G的度
d = nx.degree(G)
d = dict(nx.degree(G))
print(d)
print("平均度为: ", sum(d.values())/len(G.nodes))
绘制度分布直方图
x = list(range(max(d.values())+1))
# 对于每个 i,计算 i/len(G.nodes) 的值,将其作为新列表 y 的一个元素
y = [i/len(G.nodes) for i in nx.degree_histogram(G)] # 列表推导式
print(x)
print(y)
plt.bar(x, y, width = 0.5, color = 'red')
plt.xlabel("$k$")
plt.ylabel("$p_k$")
plt.xlim([0, 4])