Graphviz流程图绘制+dot语法汇总


  • 更多属性 http://www.graphviz.org/doc/info/attrs.html
  • 更多形状 http://www.graphviz.org/doc/info/shapes.html
  • 更多颜色 http://www.graphviz.org/doc/info/colors.html

1. 安装环境

安装:

  • 官网下载 http://www.graphviz.org/download/
  • bin/ 文件夹添加到环境变量
  • 查看版本 dot -V

使用:

  • 安装vscode插件:Graphviz (dot) language support for Visual Studio Code
  • 编写代码后,右键预览

测试代码:

digraph demo{
    A -> B
}

2. 语法说明

Graphviz 语法非常简单,主要由代码块、语句、标识符、注释等几部分组成:

  • 代码块: 位于 { } 语句中的语句即为代码块;
  • 语句:可以选择以 ; 结尾,主要分为代码块,节点,连线,属性四种语句类型;
  • 实体对象标识符:除了特殊字符外的所有字符都可以用于标识符,如数字,中英文字符串等;
  • 注释: // 表示单行注释,/*...*/ 表示多行注释;
  • 赋值语句的右侧可以是加引号的字符串,也不加引号

一般流程:
在这里插入图片描述

3. 图 graph

  • 图分两种,graph 标识无向图,digraph 标识有向图
  • 建议使用有向图,通过设置箭头属性的方式可以取消箭头 arrowhead=none
  • 在图的开头写入属性即可设置图形的属性,常用的图形属性有size、label、labelloc、labeljust、bgcolor、rankdir等。
  • 子图 subgraph 的设置和“父图”类似,但必须命名为"cluster_XXX"
# 有向图 digraph
digraph demo{
    A -> B
}
# 无向图 graph
graph demo{
    A -- B
}
# 子图 subgraph cluster_XXX
subgraph cluster_XXX{
    A -- B
}

3.1. 布局

  • nodesep : 相同 rank 的相邻节点的最小距离,单位为英寸(=2.54 cm)
  • ranksep : 相邻 rank 之间的距离,单位为英寸(=2.54 cm)
  • rankdir: rank和箭头的指向,如 LR (left to right) or RL,或者TB (top to bottom) or BT;

Graphviz流程图绘制+dot语法汇总_第1张图片

3.2. 标题 label

  • label = “process #1”

4. 节点 node

  • 在DOT中,节点可以不用声明直接使用
  • 每个节点首次出现的名称做为该节点的唯一标识。
  • 对节点可以设置的常见通用属性有shape、label、style、color、fillcolor、rank等,以及特定形状的属性
  • 使用 node[...] 设置其后默认属性,对该位置之后的 节点 有效
  • 在具体节点后面用 [ ] 来单独设置属性

4.1. 标签 label

  • label = 显示在图上的内容

4.2. 形状 shape

  • 默认为椭圆 shape = ellipse
  • 矩形 shape = rectshape = rectangleshape = box
  • 圆形 shape = circle
  • 其他形状 http://www.graphviz.org/doc/info/shapes.html

4.3. 形状宽高 width height

  • width = 2
  • height = 2

4.4. 边框颜色 color

  • 一般颜色 color=green
  • 多种颜色 color="green:red;0.25:blue"
    http://www.graphviz.org/doc/info/colors.html

4.5. 填充颜色 fillcolor

  • color=blue, style=filled 边框同色
  • fillcolor=blue, style=filled 边框保留黑色

Graphviz流程图绘制+dot语法汇总_第2张图片


5. 边 edge

  • 无向边用于无向图,有向边用于有向图,不可混用
  • 边的常见设置有style、color、weight、label、labelfontcolor、headlabel、taillabel、decorate等
  • 有向边可以设置边的起点位置等
  • 使用 edge[...] 设置其后默认属性,对该位置之后的 有效
  • 在具体的边后面用 [ ] 来单独设置属性

5.1. 标签 label

  • label = 显示在箭头中间的标签
  • headlabel = "箭头标签"
  • taillabel = "箭头末端的标签"

5.2. 箭头类型 arrowhead

  • 默认箭头 "arrowhead = normal"
  • 无箭头 "arrowhead = none"

5.3. 箭头指向 dir

  • 默认 dir = forward
  • 反向 dir = back
  • 双向 dir = both
  • 无箭头 dir = none

5.4. 颜色 color

  • 一般颜色 color=green
  • 多种颜色 color="green:red;0.25:blue"
    http://www.graphviz.org/doc/info/colors.html

你可能感兴趣的:(开发环境,graphviz,dot,流程图)