graphviz教程
2015-07-29 19:30
239 查看
graphviz是一个开源的图形可视化软件,与其他图形软件所不同,它的理念是“所想即所得”,通过dot语言来描述并绘制图形。
首先是安装,在ubuntu下,可以直接使用命令sudo apt-get install graphviz命令来安装,当然也可以从源码来安装,源码可以从这里下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/
接下来看一个简单的实例:
生成jpg格式图片的Makefile如下:
再来看一个例子:
有向图:
从上面几个例子可以看出,无向图使用关键字"graph"来定义,而有向图使用关键字"digraph"来定义。无向图的边使用"--"来定义,而有向图的边使用"->"来定义。
再来看一个图带上label的例子:
由上面例子可以看出,label可用来定义顶点和边的名字。
注:分号';'和逗号','不是必须的,只是为了增强可读性,可以用空格来代替(2015.07.30 add)。
再来看其它属性的例子:
最后一个例子:
参考教程:
http://www.tonyballantyne.com/graphs.html
http://www.graphviz.org/pdf/dotguide.pdf
不熟悉的大家也可以去graphviz官网(http://www.graphviz.org)去看看,上面也有很多教程和实例。
首先是安装,在ubuntu下,可以直接使用命令sudo apt-get install graphviz命令来安装,当然也可以从源码来安装,源码可以从这里下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/
接下来看一个简单的实例:
graph graphname { a -- b; b -- c; b -- d; d -- a; };
生成jpg格式图片的Makefile如下:
demo.jpg:demo.dot dot -Tjpg demo.dot -o demo.jpg clean: rm demo.jpg当然也可以生成其它格式的图片。最终生成的jpg图片如下:
再来看一个例子:
graph graphname { rankdir=LR; //Rank Direction Left to Right a -- b; b -- c; b -- d; d -- a; };同样的图片,只是布局不一样,效果如下:
有向图:
digraph graphname { a -> b; b -> c; a -> c; };效果如下:
从上面几个例子可以看出,无向图使用关键字"graph"来定义,而有向图使用关键字"digraph"来定义。无向图的边使用"--"来定义,而有向图的边使用"->"来定义。
再来看一个图带上label的例子:
digraph graphname { T [label="Teacher"] // node T P [label="Pupil"] // node P T->P [label="Instructions", fontcolor=darkgreen] // edge T->P };效果如下:
由上面例子可以看出,label可用来定义顶点和边的名字。
注:分号';'和逗号','不是必须的,只是为了增强可读性,可以用空格来代替(2015.07.30 add)。
再来看其它属性的例子:
digraph graphname { T [label="Teacher", color=Blue, fontcolor=Red, fontsize=24, shape=box] // node T P [label="Pupil", color=Blue, fontcolor=Red, fontsize=24, shape=box] // node P T->P [label="Instructions", fontcolor=darkgreen] // edge T->P };效果如下:
最后一个例子:
digraph summary { start [label="Start with a Node"] next [label="Choose your shape", shape=box] warning [label="Don't go overboard", color=Blue, fontcolor=Red, fontsize=24, style=filled, fillcolor=green, shape=octagon] end [label="Draw your graph!", shape=box, style=filled, fillcolor=yellow] start->next start->warning next->end [label="Getting Better...", fontcolor=darkblue] };注darkblue这个值编译时会提示一个Warning,提示没有这个color,而最终生成的图也的确没有起作用,默认使用了黑色这个值,效果如下:
参考教程:
http://www.tonyballantyne.com/graphs.html
http://www.graphviz.org/pdf/dotguide.pdf
不熟悉的大家也可以去graphviz官网(http://www.graphviz.org)去看看,上面也有很多教程和实例。
相关文章推荐
- 如何在C语言中使用正则表达式
- zoj3726_2013长沙区域赛(二分查找+预处理)
- 补齐产品线 NVIDIA发布全新Quadro系列
- struts2注解redirect传递参数解决方案时,中国的垃圾问题
- Delphi中双字节类型存储到整型变量的问题
- Salt中Syndic那点事
- UVA10785
- 知识储备_计算机操作系统:进程管理
- UVa11059
- 油田!
- CSS注释的一些高级用法
- 字典树 一种快速插入查询数据结构
- C语言从TXT文件中读写数据
- 高斯消元模板
- StringBuffer 与 StringBuilder类的使用
- Linux下的调试工具
- linux系统管理之ip配置、yum本地仓库搭建、密码破解
- 线性代数的本质
- Android vold 工作流程分析
- poj 2187 凸包or旋转qia壳法