Graphviz 画图教程
文章目录
-
-
- 介绍
- 安装
- 普通图
-
- 简单画图
- 进阶画图
- 树状图
- 哈希表
- 子图
-
- 定义子图
- 子图进阶
- 附录
-
- 主要结点属性
- 主要边属性
- 主要图属性
- 结点形状
- dot语法
-
介绍
Graphviz是一个常用的绘图工具,可以通过编写dot脚本绘制一系列的图片,例如流程图、树形图等框架图,并使用dot命令生成图片。
安装
可以到Graphviz官网下载安装包: 下载地址
安装完成后,将其安装地址的...\Graphviz2.38\bin
文件夹加入环境变量
普通图
简单画图
关于Graphviz的语法我就不详细说了,网上有许多资料,我希望是通过例子来帮助大家理解如何使用。
首先你需要新建一个文本文档(txt)就行,然后打开文档,开始画图吧。
首先画一个有向图:
digraph G{
}
这时候我们就定义个一个有向图,接下来我们需要在中间加入一些自定义的结点。
digraph G{
a->b;
b->c;
a->c;
}
好了,我们已经定义好一个简单的有向图了,然后我们将其保存为deme.dot
(记得要改后缀名.dot
)。
接下来我们利用dot
命令将其导出。
打开CMD
窗口,进入该demo.dot
所在目录,然后输入如下命令:
dot -Tpng demo.dot -o demo.png
我们可以看到已经生成了一个.png
文件,如图所示
进阶画图
上面只是展示了如何画一个简单的图,那么,如果我想改变结点的形状,线的颜色之类的属性,如何画图呢?让我们看看下面的代码:
digraph G{
a->b->c[color=red];
a->c [label="a to c"];
b->{
d,e} [style=dotted];
a [shape=polygon,sides=5,peripheries=4,color=lightblue,style=filled];
c [shape=box];
d [shape=triangle,label="I am d"];
}
同样通过如下命令导出png图片:
dot -Tpng demo.dot -o demo.png
你会发现,我们修改了结点及边的属性,how?
对于每条边,只要在其后面增加一对[]
,里面填入需要修改的属性,而对于结点,只需要在后面增加几条语句对其定义属性就可以了,是不是很有趣?
forward0620: 有用,我按照你的方法设置了快捷键,终于念头通达了。 Terminal Here:Create Terminal 博主的命令少了一个e,打成Creat 了
小E要加油: 太有帮助了感谢
白天到处飞: 法二在mac的终端上执行,没有成功还是会自动执行切换环境,用法一成功不再在终端自动输入切换环境的命令了
雾霭381: 为啥复制后运行总是一直标红报错呢?
ThreeStones1029: g.render(filename, format="png")变成g.render(filename, format="png",view=True)