14

最初にファイルを書き込まずにグラフを表示したいと思います。

foo標準出力でこれを生成するコマンドがあるとします。

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

私がやりたいことは、パイプfoodotて結果をコマンドにパイプし、グラフィカル環境で画像を表示することです。

foo | dot -Tpng | <display command>

一時ファイルを使用する回避策を見つけました。OSXでは、次のことができます:

foo | dot -Tpng > temp && open temp

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

標準出力に書き込まれている画像を表示するにはどうすればよいですか?

4

4 に答える 4

13

ImageMagick の表示コマンドを使用すると、これらは Ubuntu 12.10 (および他の OS でも可能性が高い) で動作します。

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

SVG には、ウィンドウに合わせてスムーズにスケーリングできるという利点があります (それが必要な場合)。

于 2013-04-13T00:19:49.673 に答える
2

OSX & iTerm2 では、次のことができます ( imgcatがインストールされていると仮定します) 。

dot abac.dot -Tpng | imgcat

ここに画像の説明を入力

于 2019-02-20T01:03:03.033 に答える
1

Linux では-Tx11:cairo、直接 X11 ウィンドウを表示するために使用することもできます。

于 2018-12-14T04:17:47.117 に答える
0

ファイルの使用も避けたい場合は、受け入れられた回答を完了するには(これはまったく問題ありません).dot

echo 'digraph { a -> b }' | dot -Tpng | display

(これはLinux専用です。またeog、パイプを介してpngを受け入れないように最初に試しました)

Graphviz のコマンド ラインの使用方法に関するドキュメントのrom を基にしています。

于 2021-11-23T14:08:27.677 に答える