私はエッジのリストを持っています。グラフの視覚的表現を作成する
(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)
このグラフの画像を取得するにはどうすればよいですか?
これらのリストは9000以上(冗談ではない)なので、自動である必要があります。
私はエッジのリストを持っています。グラフの視覚的表現を作成する
(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)
このグラフの画像を取得するにはどうすればよいですか?
これらのリストは9000以上(冗談ではない)なので、自動である必要があります。
Pythonとnetworkx
で描画できます。
import networkx
import pylab
edges = [(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)]
G = networkx.Graph(data=edges)
networkx.draw(G)
pylab.show()
あなたは、GUIを使用せずに画像としてグラフを保存する方法についてpylab
のマニュアルをお読みください。 ast.literal_eval
を使用して元のリストを解析できます。たとえば、ファイル内の行に1つのグラフとして保存されている場合、次のようにすることができます。
with open('edges.txt') as f:
for line in f:
edges = list(ast.literal_eval(line))
# drawing goes here
(a、b)の辺 'a'が常に' b'よりも上になるようにしたいのですが、どうすればよいですか? –