在NetworkX中显示k-部图,可以通过以下步骤实现:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
# 添加节点
G.add_nodes_from(['A', 'B', 'C', 'D', 'E', 'F'])
# 添加边
G.add_edges_from([('A', 'B'), ('B', 'C'), ('C', 'A'), ('D', 'E'), ('E', 'F'), ('F', 'D')])
bipartite_layout
函数生成k-部图的布局:pos = nx.bipartite_layout(G, ['A', 'B', 'C'], align='horizontal')
其中,['A', 'B', 'C']
是k-部图中的一个部分,align='horizontal'
表示节点在水平方向上对齐。
# 绘制节点
nx.draw_networkx_nodes(G, pos, nodelist=['A', 'B', 'C'], node_color='r')
nx.draw_networkx_nodes(G, pos, nodelist=['D', 'E', 'F'], node_color='b')
# 绘制边
nx.draw_networkx_edges(G, pos)
# 绘制节点标签
nx.draw_networkx_labels(G, pos)
# 显示图形
plt.axis('off')
plt.show()
这样就可以在NetworkX中显示k-部图了。注意,以上代码中的节点和边的添加、部分的选择以及布局的参数设置都可以根据具体需求进行调整。另外,如果需要保存图形,可以使用plt.savefig()
函数将图形保存为图片文件。
领取专属 10元无门槛券
手把手带您无忧上云