networkx画图显示不同社区
时间: 2023-06-12 13:03:43 浏览: 111
networkx画图(1)
要在NetworkX中绘制具有不同社区的图,您可以使用不同的颜色表示不同的社区。以下是一个示例代码,它将使用不同颜色表示一个简单的社交网络中的不同社区。
```
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个简单的社交网络
G = nx.Graph()
G.add_edges_from([(1, 2), (1, 3), (2, 3), (3, 4), (4, 5), (4, 6), (5, 6)])
# 定义社区
communities = [[1, 2, 3], [4, 5, 6]]
# 定义节点颜色
node_color = []
for node in G.nodes():
if node in communities[0]:
node_color.append('red')
else:
node_color.append('blue')
# 绘制图形
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos, node_color=node_color)
nx.draw_networkx_edges(G, pos)
plt.show()
```
在此示例中,我们首先创建一个简单的社交网络,然后定义了两个社区。我们使用`node_color`列表定义每个节点的颜色。在这个例子中,我们将第一个社区的节点设置为红色,将第二个社区的节点设置为蓝色。最后,我们使用NetworkX的`draw_networkx_nodes`和`draw_networkx_edges`函数来绘制图形。
阅读全文