Graphviz 画图的一些总结
Graphviz
Graphviz 是一个自动排版的作图软件,可以生成 png pdf 等格式。
一切以官方文档为准,博客只是参考。这里做一个自己学习的记录。
dot 语言
Graphviz 构建组件为 图,节点,边,用属性对其进行描述。
以下是定义DOT语言的抽象语法,约束的规则如下:
- 元素的终止以 粗体 显示
- 文字字符用单引号 '' 引起来
- 圆括号 () 的内容为必选项
- 方括号 [] 为可选项目
- 竖杠 | 为择一选择
声明 | 结构 |
---|---|
graph | [ strict ] (graph | digraph) [ ID ] '{' stmt_list '}' |
stmt_list | [ stmt [ ';' ] stmt_list ] |
stmt | node_stmt | edge_stmt | attr_stmt | ID '=' ID | subgraph |
attr_stmt | (graph | node | edge) attr_list |
attr_list | '['** [ a_list ] **']' [ attr_list ] |
a_list | ID '=' ID [ (';' | ',') ] [ a_list ] |
edge_stmt | (node_id | subgraph) edgeRHS [ attr_list ] |
edgeRHS | edgeop (node_id | subgraph) [ edgeRHS ] |
node_stmt | node_id [ attr_list ] |
node_id | ID [ port ] |
port | ':' ID [ ':' compass_pt ] | ':' compass_pt |
subgraph | [ subgraph [ ID ] ] '{' stmt_list '}' |
compass_pt | (n | ne | e | se | s | sw | w | nw | c | _) |
ID 其实就是一个字符串,为该组件的名称或者属性的名称,命名规则如下:
- 所有的字母
[a-zA-Z\200-\377]
下划线,数字[0-9]
,数字不能出现在起始位置 - 纯数字