我想显示一个图而不先写一个文件。

假设我有一个命令foo,它在标准输出上生成此命令:

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

我想做的是将foo传递到dot中,然后将结果传递到一个命令中,该命令将在图形化环境中显示图像。
foo | dot -Tpng | <display command>

我发现了一种涉及临时文件的解决方法。在OSX中,我可以执行以下操作:
foo | dot -Tpng > temp && open temp

但是我仍然必须从文件系统中删除文件。

如何显示正在标准输出的图像?

最佳答案

使用ImageMagick的display命令,它们可以在Ubuntu 12.10(以及最可能的其他操作系统)上运行:

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

SVG的优点是可以随窗口平滑缩放(如果您要这样做的话)。

关于command-line - 在不创建中间文件的情况下显示来自Graphviz的图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15982522/

10-12 20:53