Graphviz:如何从 .dot 变为图形?

Posted

技术标签:

【中文标题】Graphviz:如何从 .dot 变为图形?【英文标题】:Graphviz: How to go from .dot to a graph? 【发布时间】:2010-12-02 10:38:37 【问题描述】:

我似乎无法弄清楚这一点。我有一个 .dot 文件,根据语法它是有效的。如何使用 graphviz 将其转换为图像?

(请注意,我使用的是 Windows,而不是 linux)

【问题讨论】:

对于 windows:dl MSI 并安装;在您的程序列表中找到gvedit.exe;打开有问题的.dot 文件;点击工具栏上的跑步者;转至graph -> settings;将 Output file type 更改为您喜欢的文件类型,然后按 ok.. 它什么也没说,您只需在与 .dot 文件相同的目录中找到该文件。 【参考方案1】:

输入:dot -Tps filename.dot -o outfile.ps

如果你想使用点渲染器。有像neato和twopi这样的替代品。如果 graphiz 不在您的路径中,请找出它的安装位置并从那里运行它。

您可以通过更改-T 之后的值并在-o 之后选择适当的文件扩展名来更改output format。

如果您使用的是 Windows,请查看已安装的名为 GVEdit 的工具,它使整个过程稍微容易一些。

请访问 graphviz 网站的“用户指南”部分,了解有关如何使用这些工具的更多详细信息:

http://www.graphviz.org/documentation/

(例如,点命令的输出格式请参见第 27 页)

http://www.graphviz.org/pdf/dotguide.pdf

【讨论】:

不知何故,GVEdit 预览总是将图像显示为空白。当我尝试保存图像时,没有任何反应。 是否可以让 GVEdit 记住布局窗口的大小和位置?让我抓狂的是,当我按 F5 时,它总是将布局窗口的大小缩小回默认值! @PaulMcMillan,你能帮我解决这里的问题吗:http://***.com/questions/26477403/graphviz-dot-to-ps-issue,我的输出绑定到一个修复页面,有些部分不在页面中 AFAIK,不可能让 GVEdit 记住窗口。我同意 UX 有一些不足之处。 我从 terraform graph 命令创建了一个 terraform.dot 文件。我在窗户上。我做了 -o outfile.jpg ,当我双击 jpg 时,它锁定了资源管理器。也尝试了 gif 并遇到了同样的问题。【参考方案2】:
dot -Tps input.dot > output.eps
dot -Tpng input.dot > output.png

PostScript 输出似乎总是存在。我不确定 dot 默认情况下是否有 PNG 输出。这可能取决于您如何构建它。

【讨论】:

不使用>,建议使用«-o »参数 根据您的系统支持,您可以导出为各种文件格式。我发现dot -Tsvg input.dot > output.svg 很有用。 稍微简单点,让dot根据输入的文件名和文件类型来选择文件名:dot -Tpng -O file.dot (会产生file.png) 相同的命令在 macOS 中通过 macports 工作。 :)【参考方案3】:

点文件.dot -Tpng -o image.png

这适用于 Windows 和 Linux。必须安装 Graphviz。

【讨论】:

将 Graphviz 添加到路径 在 OSX 上,您需要先使用 Homebrew 安装 Graphviz:brew install graphviz 我可以生成一个带点的png图像,但背景是白色的。我需要一个透明的背景。有什么办法可以得到吗? 1.从graphviz.gitlab.io/_pages/Download/Download_windows.html 安装 Graphviz 2. 将 'C:\Program Files (x86)\Graphviz2.38\bin' 添加到系统变量 PATH 3. 打开 cmd 并转到保存 .dot 文件的目录 4. 使用命令'dot yourFile.dot -Tpng -o image.png'【参考方案4】:

还有在线观众:

http://www.webgraphviz.com/ http://sandbox.kidstrythisathome.com/erdos/(死) http://viz-js.com/ https://dreampuf.github.io/GraphvizOnline/ https://sketchviz.com/new

【讨论】:

我完全是鄂尔多斯,很久以前就忘记了。我不知道有多少人链接到它! 添加捐赠按钮 ;) 我正在尝试从这里quut.com/c/ANSI-C-grammar-y.html 生成 C 语法图。但这并不成功。这个语法是否太大而无法处理?【参考方案5】:

获取 graphviz-2.24.msi Graphviz.org。然后获取zgrviewer。

Zgrviewer 需要 java (可能是 1.5+)。您可能需要在 Zgrviewer 的首选项中设置 Graphviz 二进制文件的路径。

文件 -> 打开 -> 用点打开 -> SVG 管道(标准)... 选择您的 .dot 文件。

您可以放大、导出各种有趣的东西。

【讨论】:

功能很多,但界面设计绝对疯狂!【参考方案6】:

这应该结合了很多答案。

# Convert dot to png via graphviz
dot -Tpng filename.dot -o filename.png

# Convert dot to svg via graphviz
dot -Tsvg filename.dot -o filename.svg

# Convert dot to eps via graphviz
dot -Tps filename.dot -o filename.eps

请记住,在 OSX (MAC) 上,您需要安装 homebrew 才能安装 graphviz 才能使用上面的点命令。

brew install graphviz

如果您安装了 Anaconda,也可以通过 conda 的包管理器功能安装 Graphviz(并使用上述命令)。

conda install python-graphviz

【讨论】:

【参考方案7】:

您还可以以 xdot 格式输出文件,然后使用 javascript 库 canviz 在浏览器中呈现它。

Canviz on code.google.com:

要查看示例,截至 2014 年 11 月 2 日,上述页面上有一个“Canviz 演示”链接。

【讨论】:

【参考方案8】:

您可以使用 VS 代码并安装 Graphviz 扩展,或者,

    从以下位置安装 Graphviz https://graphviz.gitlab.io/_pages/Download/Download_windows.html 将C:\Program Files (x86)\Graphviz2.38\bin(或your_installation_path/bin)添加到您的系统变量 路径 打开 cmd 并转到保存 .dot 文件的目录 使用命令dot music-recommender.dot -Tpng -o image.png

【讨论】:

【参考方案9】:

不需要任何转换。

我们可以在 Linux 中简单地使用 xdot 命令,它是 Graphviz 点文件的交互式查看器。

例如:xdot 文件.dot

更多信息:https://github.com/rakhimov/cppdep/wiki/How-to-view-or-work-with-Graphviz-Dot-files

【讨论】:

非常感谢,没有拿到 dot 的查看器版本我感觉很愚蠢! :)【参考方案10】:

对于window用户,请运行完整的命令将*.dot文件转换为png:

C:\Program Files (x86)\Graphviz2.38\bin\dot.exe" -Tpng sampleTest.dot > sampletest.png.....

我在 solgraph 中发现了一个错误,它使用的是旧版本的solidity-parser,它似乎不够智能,无法捕获为solidity 编程语言本身所做的新增强,例如为事件发出关键字

【讨论】:

【参考方案11】:

您可以使用非常好的在线工具。链接在这里 dreampuf.github.io 只需将编辑器中的代码替换为您的代码即可。

【讨论】:

以上是关于Graphviz:如何从 .dot 变为图形?的主要内容,如果未能解决你的问题,请参考以下文章

Graphviz 绘制流程图

为什么graphviz dot不能打开一个dot文件?

如何将文本文件自动转换为 graphviz dot 文件?

DOT/graphviz 边缘标签中的下标

Emacs graphviz图形中使用latex

Graphviz 网格对齐