graphviz笔记
1.简介
一个高效而简洁的绘图工具graphviz。graphviz是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言): dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。graphviz提供丰富的导出格式,如常用的图片格式,SVG,PDF格式等。
graphviz中包含了众多的布局器:
dot 默认布局方式,主要用于有向图
neato 基于spring-model(又称force-based)算法
twopi 径向布局
circo 圆环布局
fdp 用于无向图
2.三要素
图,顶点和边
每个元素都可以具有各自的属性,用来定义字体,样式,颜色,形状等。
3.绘制流程
定义一个图,并向图中添加需要的顶点和边
为顶点和边添加样式
使用布局引擎进行绘制
4.简单实例
使用dot布局,默认的顶点中的文字为定义顶点变量的名称,形状为椭圆。边的默认样式为黑色实线箭头
digraph abc{
a;
b;
c;
a -> b;
b -> c;
c -> a;
}
定义顶点和边的样式
node [shape="record"]; /* 矩形框 */
edge [style="dashed"]; /* 虚线 */
digraph abc{
node [shape="record"];
edge [style="dashed"];
a;
b;
c;
a -> b;
b -> c;
c -> a;
}
修改顶点和边样式