graphviz 安装和入门.docx
- 文档编号:25725314
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:8
- 大小:17.49KB
graphviz 安装和入门.docx
《graphviz 安装和入门.docx》由会员分享,可在线阅读,更多相关《graphviz 安装和入门.docx(8页珍藏版)》请在冰豆网上搜索。
graphviz安装和入门
graphviz安装和入门
画流程图装逼神器:
graphviz,不解释
———————————如下言归正传,切入正题———————————–
1、下载
http:
//www.graphviz.org/Download_windows.php
下载graphviz-2.38.zip,例如我解压到位置D:
\ProgramFiles\graphviz
2、配置环境变量
将D:
\ProgramFiles\graphviz\release\bin添加到环境变量Path中。
3、验证
进入windows命令行界面,输入dot-version,然后按回车,如果显示graphviz的相关版本信息,则安装配置成功。
如下:
C:
\Users\shanhy>dot-version
dot-graphvizversion2.38.0(20140413.2041)
libdir="D:
\ProgramFiles\graphviz\release\bin"
Activatedpluginlibrary:
gvplugin_dot_layout.dll
Usinglayout:
dot:
dot_layout
Activatedpluginlibrary:
gvplugin_core.dll
Usingrender:
dot:
core
Usingdevice:
dot:
dot:
core
Thepluginconfigurationfile:
D:
\ProgramFiles\graphviz\release\bin\config6
wassuccessfullyloaded.
render:
cairodotfiggdgdiplusmappicpovpssvgtkvmlvrmlxdot
layout:
circodotfdpneatonopnop1nop2osagepatchworksfdptwopi
textlayout:
textlayout
device:
bmpcanoncmapcmapxcmapx_npdotemfemfplusepsfiggdgd2gifgvimapimap_npismapjpejpegjpgm
etafilepdfpicplainplain-extpngpovpsps2svgsvgztiftifftkvmlvmlzvrmlwbmpxdotxdot1.2xdot1.4
loadimage:
(lib)bmpepsgdgd2gifjpejpegjpgpngpssvg1234567891011121314151617
4、基本绘图入门
运行D:
\ProgramFiles\graphviz\release\bin目录下的gvedit.exe可以运行打开图形界面。
File>New创建新的脚本文件,编写脚本后,点击“Layout”图标(快捷键F5)可以直接查看结果。
小试牛刀:
digraphgvDemo{
main->parse->execute;
main->init;
main->cleanup;
execute->make_string;
execute->printf
init->make_string;
main->printf;
execute->compare;
}12345678910
效果:
digraphgvDemo{
node[peripheries=2style=filledcolor="#eecc80"]
edge[color="sienna"fontcolor="green"]
main->parse->execute;
main->init[arrowhead=box];
main->cleanupi->main;
make_string[label=onceshape=parallelogramstyle=filled]
execute->make_string[label=Gostyle=dashedarrowtail=diamond];
execute->printf[shape=box];
init->make_string;
main->printf[dir=none];
execute->compare[dir=both];
}12345678910111213
效果(这个不错,可以当以后的模板用^_^):
示例1:
graph使用–描述关系
graphgvDemo1{
a--b
a--b
b--a[color=blue]
}12345
效果:
示例2:
digraph使用->描述关系
digraphgvDemo2{
a->b
a->b
b->a[color=bluestyle=filled]
}12345
效果:
示例3:
digraphgvDemo3{
edge[fontname="MicrosoftYaHei"]
node[fontname="MicrosoftYaHei"]
graph[fontname="MicrosoftYaHei"]
label="游戏资源更新流程"
rankdir="TB"
start[label="启动游戏"shape=circlestyle=filled]
ifwifi[label="网络环境判断是否WIFI"shape=diamond]
needupdate[label="是否有资源需要更新"shape=diamond]
startslientdl[label="静默下载"shape=box]
enterhall[label="进入游戏大厅"shape=box]
enterroom[label="进入房间"shape=box]
resourceuptodate[label="资源不完整"shape=diamond]
startplay[label="正常游戏"shape=circlefillcolor=blue]
warning[label="提醒玩家是否更新"shape=diamond]
startdl[label="进入下载界面"shape=box]
//{rank=same;needupdate,enterhall}
{shape=diamond;ifwifi,needupdate}
start->ifwifi
ifwifi->needupdate[label="是"]
ifwifi->enterhall[label="否"]
needupdate->startslientdl[label="是"]
startslientdl->enterhall
needupdate->enterhall[label="否"]
enterhall->enterroom
enterroom->resourceuptodate
resourceuptodate->warning[label="是"]
resourceuptodate->startplay[label="否"]
warning->startdl[label="确认下载"]
warning->enterhall[label="取消下载"]
startdl->enterhall[label="取消下载"]
startdl->startplay[label="下载完成"]
}1234567891011121314151617181920212223242526272829303132333435363738394041
效果:
示例4:
graphgvDemo4{
"黑海"--"亚速海";
"黑海"--"博斯普鲁斯海峡"
"达达尼尔海峡"--"爱琴海"
subgraphcluster_T{//新东西
label="黑海海峡";//新东西
"达达尼尔海峡"--"马尔马拉海"--"博斯普鲁斯海峡";
}
subgraphcluster_M{
label="地中海海域";
"中部地中海"--{"爱琴海""爱奥尼亚海""西西里海峡"};//也是新东西
"西部地中海"--{"西西里海峡""第勒尼安海""利古里亚海""伊比利海""阿尔沃兰海"};
"爱奥尼亚海"--"亚得里亚海";
"阿尔沃兰海"--"直布罗陀海峡";
}
}12345678910111213141516
效果:
这张图有些新东西可以看。
第一个是subgraph关键字。
一如名字所示,他是用来定义「次级图片」用的。
次级图片在dot的官方文件中常被叫作clustersubgraph,特指图示中被方框包裹起来的那两块,其定义方式和一般的graph非常相似,不过使用上有两件事需要留意:
graph的命名得以cluster前缀开头,否则语法虽然能过关,但生不出图面上您预期的效果。
如果父图是无向图,他本身也得是无向图;反之如果父图是有向图,这边也得乖乖照着来。
第二个重点是下面这段:
“中部地中海”–{“爱琴海”“爱奥尼亚海”“西西里海峡”};
用大括号括起,用空格分开-这是一口气将好几个节点群组起来同时操作的方法,其等效于:
“中部地中海”–“爱琴海”;2“中部地中海”–“爱奥尼亚海”;3“中部地中海”–“西西里海峡”;
您甚至可以用以下程式码画出下面这个图:
digraphgvABC{
{abc}->{def}
}123
除了直接使用工具查看和生成结果外,还可以使用命令来操作:
语法:
<cmd><inputfile>-T<format>-o<outputfile>
示例:
dotD:
\test\1.gv-Tpng-oimage.png1234
Graphviz中的cmd有好多种,每种使用方法都完全相同,差别只在于渲染出来的图片效果不一样。
dot渲染的图具有明确方向性(最常用,一般都使用这个)。
neato渲染的图缺乏方向性。
twopi渲染的图采用放射性布局。
circo渲染的图采用环型布局。
fdp渲染的图缺乏方向性。
sfdp渲染大型的图,图片缺乏方向性。
PS:
Setting(快捷键Shift+F5)里面我们可以设置生成的文件格式,例如可以生成svg、pdf等等格式,很强大。
你可以参考工具里面可以选择的值带入到命令行执行。
Graphviz使用空格来解析脚本,所以我们在编写脚本的时候,对于含有空格的字符,要使用双引号,这样才不会出现错误。
更多关于dot语法和graphviz的使用详见官方文档:
http:
//www.graphviz.org/Documentation.php
关于中文乱码问题的解决方法:
先将源文件保存为UTF-8格式,然后对中文内容设置frontname,例如:
start[label="启动游戏"shape=circlestyle=filled,fontname="NSimSun"]
或者设置全局属性,例如上面gvDemo3中的代码片段:
digraphgvDemo3{
edge[fontname="MicrosoftYaHei"]
node[fontname="MicrosoftYaHei"]
graph[fontname="MicrosoftYaHei"]
}123456
fontname后面也可以直接指定xxx.ttf字体文件
Windows系统中文字体的英文名对应关系参考如下:
新細明體:
PMingLiU
細明體:
MingLiU
標楷體:
DFKai-SB
黑体:
SimHei
宋体:
SimSun
新宋体:
NSimSun
仿宋:
FangSong
楷体:
KaiTi
仿宋:
FangSong
楷体:
KaiTi
微軟正黑體:
MicrosoftJhengHei
微软雅黑体:
MicrosoftYaHei
参考资料:
http:
//www.graphviz.org/Documentation/dotguide.pdf(官方)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- graphviz 安装和入门 安装 入门