4

みんな私は出力を与えるコードを書きました。では、お試しです。今、私は審美的に表示したいと考えています。誰かここで私を助けてください。私の表現は次のようになりますhttp://en.wikipedia.org/wiki/File:Trie_example.svg

しかし、私が欲しいのは、この巨大なモンスターの出力をこの [(1,2), (1,3), (1,4), (3,4)] ???? のようなきれいな出力に変換する方法です。

defaultdict(<type 'int'>, {'A': 1, 'W': 12})
defaultdict(<type 'int'>, {'A': 2, 'X': 25})
defaultdict(<type 'int'>, {'A': 3})
defaultdict(<type 'int'>, {'A': 4})
defaultdict(<type 'int'>, {'S': 5})
defaultdict(<type 'int'>, {'S': 6})
defaultdict(<type 'int'>, {'S': 7})
defaultdict(<type 'int'>, {'D': 8})
defaultdict(<type 'int'>, {'D': 9})
defaultdict(<type 'int'>, {'D': 10})
defaultdict(<type 'int'>, {'D': 11})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'R': 16, 'E': 13, 'F': 19})
defaultdict(<type 'int'>, {'E': 14})
defaultdict(<type 'int'>, {'E': 15})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'R': 17})
defaultdict(<type 'int'>, {'T': 18})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'F': 20})
defaultdict(<type 'int'>, {'F': 21})
defaultdict(<type 'int'>, {'D': 22})
defaultdict(<type 'int'>, {'D': 23})
defaultdict(<type 'int'>, {'D': 24})
defaultdict(<type 'int'>, {})
defaultdict(<type 'int'>, {'C': 26})
defaultdict(<type 'int'>, {'C': 27})
defaultdict(<type 'int'>, {'V': 28})
defaultdict(<type 'int'>, {'S': 29})
defaultdict(<type 'int'>, {})
4

1 に答える 1

16

Pydotを試す必要があります。このパッケージを使用すると、いくつかのグラフ行を作成できます:

import pydot 

edges = [(1,2), (1,3), (1,4), (3,4)] 
g = pydot.graph_from_edges(edges) 
g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')

結果

インストールするには:

pip install pydot

(必要に応じてeasy_installまたはPyPMを使用することもできます)

pydot は、DOT ファイルをロードするためにpyparsingを必要とし、 graphvizはグラフをレンダリングする必要があります。

(たとえば)png画像が必要な場合は、行を置き換えることができます

g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')

g.write('graph_from_edges_dot.png', prog='dot', format='png')

また

g.write_png('graph_from_edges_dot.png', prog='dot')

完全なドキュメントはここから入手できます: PyDot documentation

于 2011-03-26T09:58:51.130 に答える