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 变为图形?的主要内容,如果未能解决你的问题,请参考以下文章