Graphviz 流程图

2020-04-11 12:13  211人阅读  评论 (0)

Graphviz画图

命令

dot 渲染的图具有明确方向性。

neato 渲染的图缺乏方向性。

twopi 渲染的图采用放射性布局。

circo 渲染的图采用环型布局。

fdp 渲染的图缺乏方向性。

sfdp 渲染大型的图,图片缺乏方向性。

类型

graph 无向图

graph demo2{
a -- b -- c;
c -- a;
}

digraph 有向图

graph demo2{
a -> b -> c;
c -> a;
}

subgraph 子图

流程图

digraph bluetooth {
  edge [fontname="FangSong"];
  node [shape=box fontname="FangSong" size="20,20"];

  是否有蓝牙设备 [shape=diamond];
  是否已开启蓝牙 [shape=diamond];
  开启蓝牙设备 [shape=diamond];
  配对 [shape=diamond];
  建立连接 [shape=diamond];

  开始 -> 是否有蓝牙设备;

  是否有蓝牙设备 -> 结束 [label=没有];
  是否有蓝牙设备 -> 是否已开启蓝牙 [label=有];

  是否已开启蓝牙 -> 开启蓝牙设备 [label=未开启];
  是否已开启蓝牙 -> 搜索蓝牙设备 [label=已开启];

  开启蓝牙设备 -> 结束 [label=失败];

  开启蓝牙设备 -> 搜索蓝牙设备 [label=成功];

  搜索蓝牙设备 -> 选择并连接蓝牙设备;

  选择并连接蓝牙设备 -> 配对;

  配对 -> 结束 [label=失败];
  配对 -> 已经配对的蓝牙 [label=成功];

  已经配对的蓝牙 -> 建立连接;

  建立连接 -> 结束 [label=失败];
  建立连接 -> 收发数据 [label=成功];

  收发数据 -> 收发数据 [label=双工];

  收发数据 -> 结束 [label=断开连接];
}

/upload/bluetooth.dot.png