目录
1、首先在官网下载graphviz
2、安装。
3、测试并在Windows命令行中使用
4、在Python中使用
5、在自带的gvedit.exe程序中使用
6、在语雀中使用
7、绘制一棵简单的二叉树
8、详细语法介绍
8.1 带标签
8.2 修改方框颜色和形状
8.3子视图
8.4 结构视图
8.5 继承关系
1、首先在官网下载graphviz
下载网址:Download | Graphviz
根据自身电脑位数选择合适的下载地址
2、安装。
打开第一步已经下载好的软件。点击下一步,在安装路径选择时可将安装路径修改为 E:\Graphviz
注意必须要将Graphviz添加到系统PATH中
选择好安装目录后,点击下一步,即可安装成功
验证PATH有没有正确添加到系统中
可以看到bin文件夹已经添加到环境变量中
3、测试并在Windows命令行中使用
测试是否安装成功,Win+R 或者在搜索栏打开命令提示符窗口
输入 dot -version (注意dot后面后一个空格)。成功出现如下信息表示注册成功。若出现dot不是内部或外部命令,则表示安装失败。
在桌面上保存一个test.dot文件,在命令行中调用如下的命令
dot -Tpng test.dot -o test.png
我们可以发现桌面上果然出现了我们想要的test.png文件
打开test的属性,我们可以看到文件类型是DOT文件,我们可以用Windows自带的文本编辑器打开,但是必须要另存为DOT文件。否则会出现错误
dot: can’t open test.dot
4、在Python中使用
在命令行输入如下指令
pip install graphviz
5、在自带的gvedit.exe程序中使用
在Windows的所有程序里G开头的文件夹中,点击打开gvedit.exe。这个程序是随着程序一起安装到电脑中的。注意程序要下载msi资源。
graphviz-2.37.20140115.zip_graphviz-HTML5文档类资源-CSDN下载
双击会跳出如下图所示的界面
我们要牢记一点,就是dot语言是一种工具,我们目的不是要多精通这种语言,仅仅是为了能够画出自己想要的图片,不要舍本逐末。
6、在语雀中使用
语雀自带了文本绘图功能,非常方便
7、绘制一棵简单的二叉树
黑色跑步的人的方框代表编译
digraph BinaryTree{a -> ba -> cb -> dd [label="null"];node1[shape=point, style=invis]b -> node1[weight=10, style=invis]b -> ec -> fnode2[shape=point, style=invis]c -> node2[weight=10, style=invis]c -> gg [label="null"];e -> hh [label="null"];node3[shape=point, style=invis]e -> node3[weight=10, style=invis]e -> ii [label="null"];f -> kk [label="null"];node4[shape=point, style=invis]f -> node4[weight=10, style=invis]f -> jj [label="null"];}
8、详细语法介绍
8.1 带标签
digraph {player[label = "player"];game[label = "game"];player -> game[label = "play"]}
8.2 修改方框颜色和形状
digraph {player[label = "player", color = Blue, fontcolor = Red, fontsize = 24, shape = box];game[label = "game", color = Red, fontcolor = Blue, fontsize = 24, shape = ellipse];player -> game[label = "play"]}
详细可以见官方文档https://graphviz.gitlab.io/doc/info/shapes.html
8.3子视图
digraph {label = visitNetrankdir = LRnode[color = Red, fontsize = 24, shape = box]edge[color = Blue, style = "dashed"]user[style = "filled", color = "yellow", fillcolor = "chartreuse"]subgraph cluster_cd{label = "server and browser"bgcolor = yellow;browser -> server}user -> computer;computer -> browser;}
8.4 结构视图
digraph {node[shape = record];struct1[label = " left| mid dle| right"];struct2[label = " one| two"];struct3[label = "hellonworld | {b|{c| d|e}|f}|g|h"];struct1:f1 -> struct2:f0;struct1:f2 -> struct3:here;}
8.5 继承关系
digraph UML {node[fontname = "Courier New", fontsize = 10, shape = record];edge[fontname = "Courier New", fontsize = 10, arrowhead = "empty"];Car[label = "{Car | v : float\nt : float | run() : float}"]subgraph clusterSome{bgcolor = "yellow";Bus[label = "{Bus | | carryPeople() : void}"];Bike[label = "{bike | | ride() : void}"];}Bus -> CarBike -> Car}