2部グラフの描画でしたら、networkx を使うと簡単にできます。
インストール方法
pip install --upgrade networkx
サンプルコード
python
1import matplotlib.pyplot as plt
2import networkx as nx
3from networkx.algorithms import bipartite
4from networkx.drawing.layout import bipartite_layout
5
6B = nx.Graph()
7# グループ0のノードを追加する。
8B.add_nodes_from([1, 2, 3, 4], bipartite=0)
9# グループ1のノードを追加する。
10B.add_nodes_from(['a', 'b', 'c'], bipartite=1)
11# エッジ一覧を追加する。
12B.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')])
13
14# レイアウト設定
15bottom_nodes, top_nodes = bipartite.sets(B)
16pos = bipartite_layout(B, top_nodes)
17
18nx.draw(B, pos=pos, node_color='lightgreen')
19nx.draw_networkx_labels(B, pos=pos)
20plt.show()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/08 04:26