以下是使用上面的代码生成的BA网络的可视化图形:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个空的BA网络
ba_network = nx.Graph()
# 添加初始节点
ba_network.add_nodes_from([0, 1, 2])
# 添加边以形成完整的三角形
ba_network.add_edges_from([(0, 1), (1, 2), (2, 0)])
# 逐步添加新节点并连接到现有节点
for i in range(3, 10):
# 计算每个节点的度数
degrees = [ba_network.degree(j) for j in ba_network.nodes()]
# 计算度数分布概率
prob = [float(d) / sum(degrees) for d in degrees]
# 从现有节点中随机选择一个节点
chosen_node = np.random.choice(list(ba_network.nodes()), p=prob)
# 将新节点连接到已选节点
ba_network.add_edge(i, chosen_node)
# 绘制网络图形
nx.draw(ba_network, with_labels=True)
plt.show()
```
这将显示一个包含10个节点和平均度数为3的BA网络的图形。