2013-04-12 15 views
6

最初にファイルを書き込まずにグラフを表示したいと思います。中間ファイルを作成せずにGraphvizの画像を表示しますか?

私は標準のうちにこれを生産するコマンドfooがあるとします。私がやりたい何

digraph foogrph { 
    a -> b; 
    a -> c; 
} 

dotにパイプfooあり、その後、配管Aに画像を表示するコマンドへの結果グラフィカル環境。

foo | dot -Tpng | <display command> 

一時ファイルが含まれている回避策が見つかりました。 OSXでは、私は以下を行うことができます:

foo | dot -Tpng > temp && open temp 

しかし、ファイルシステムからファイルを削除する必要があります。

標準出力に書き込まれている画像を表示するにはどうすればよいですか? (あまりにも、最も可能性の高い他のOS、)はImageMagickの表示コマンドで

答えて

4

、Ubuntuの12.10でこれらの作品:(それはあなたが望むものの場合)

dot abac.dot -Tsvg | display 
dot abac.dot -Tpng | display 

SVGはスムーズウィンドウでスケーリングの利点を持っています。

+1

OSXでX11を使用するためにimagemagickを再コンパイルする必要がありましたが、今は表示がありますが、パイプから正しく読み込まないです。私は回避策を見つけました: 'display <(echo 'digraph {a-> b; b-> c; c-> d;}' | dot -Tpng)' – tlehman

+1

もう一つのオプションは 'dotty' git wiki](https://git.wiki.kernel.org/index.php/Aliases#Use_graphviz_for_display) – tlehman

+1

また、iTermで動作する 'imgcat'スクリプトは端末に直接画像を表示することができます。 ) – tlehman

関連する問題