python+NetworkX+matplotlibでグラフ描画

プログラミングコンテストではしばしばグラフの問題が出題されます。そういう問題を解くのに、いちいちグラフを紙に書くのはめんどくさいですね。そういう時にNetworkXが便利です。

#networkxとpyplotをimportする
import networkx as nx
import matplotlib.pyplot as plt

#グラフを作成
G = nx.Graph()

#辺を追加する
G.add_edge(1,2)

#リストからも追加できる
edges = [(1,3), (2,4), (2,5), (1,4), (4,6)]
G.add_edges_from(edges)

#グラフを描画
nx.draw(G)
plt.show()

こういうグラフが完成します
f:id:ichyo:20120402104507p:plain