您的位置:首页 > 其它

graphviz画图软件介绍及使用感受

2016-06-06 10:12 141 查看

1 介绍

一次偶然的机会接触到了画图软件graphviz,它主要用于画有向图、《数据结构》课程里的数据结构图等比较方便。它与tikz的比较为:

tikz可以画任何种类的图。因为tikz就相当于你拿着一个画笔,面对一张空白的纸做画,各种位置、布局都要自己控制;

graphviz擅长于有向图等。它封装了底层的布局,位置关系等,有一些底层的算法在帮你做这些事情。

所以,我认为在graphviz擅长的领域,使用其画图特别方便。我可以说是一个画图爱好者,使用过多种多样的画图软件,每发现一个不免要点评一番,不周之处,敬请原谅。

2 使用初步

graphviz是一个软件,而要画图,你需要使用dot语言1,举下面一个例子:

digraph G {
main -> parse -> execute;
main -> init;
main -> cleanup;
execute -> make_string;
execute -> printf;
init -> make_string;
main -> printf;
execute -> compare;
}


得到的绘图结果为:



很方便吧!但是你若要想绘制更加丰富的图形,则需要使用各种各样的属性,用来控制结点、边等的样式。如下代码:

digraph G{
size ="4,4";
main [shape=box]; /* this is a comment */
main -> parse [weight=8];
parse -> execute;
main -> init [style=dotted];
main -> cleanup;
execute -> {make_string; printf}
init -> make_string;
edge [ color=red]; // so is this
main -> printf [style=bold,label="100 times"];
make_string [label="make a \nstring"];
node [shape=box,style=filled,color=".7 .3 1.0"];
execute -> compare;
}


输出的效果为:



短短的几行代码就可产生丰富的图形,方便我们版本控制,对图形进行自动化处理等工作。

3 图片保存

绘制好图片时,可将图片保存为各种各样的格式,如下:

点击layout按钮,产生图形:



然后再点击setting,即出现一个对话框,
Output File Type
里可以设置各种图片格式,如下图:



Emden R. Gansner, Eleftherios Koutsofios, and Stephen North. Drawing graphs with dot. 2010.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  graphviz 绘图软件