Graphviz 快速入门
Graphviz 快速入门教学
Graphviz 是一个强大的图形可视化工具,可以让你通过简单的文本描述来生成复杂的图表。以下是快速入门指南:
1. 安装 Graphviz
首先需要安装 Graphviz:
- Windows:从官网下载安装包 graphviz.org/download
- Mac:
brew install graphviz - Linux:
sudo apt-get install graphviz(Ubuntu/Debian)
2. 基础语法
Graphviz 使用 DOT 语言来描述图形。基本结构如下:
// 有向图
digraph 图名 {
// 节点和边的定义
A -> B -> C;
B -> D;
}
// 无向图
graph 图名 {
// 节点和边的定义
A -- B -- C;
B -- D;
}
3. 节点和边的基本属性
节点属性
digraph {
// 形状、颜色、标签
A [shape=box, color=blue, label="开始节点"];
// 常用形状:box, circle, ellipse, diamond, record等
B [shape=circle, fillcolor=yellow, style=filled];
// 图像节点
C [shape=plaintext, image="icon.png"];
}
边属性
digraph {
A -> B [
label="关系", // 边标签
color=red, // 颜色
style=dashed, // 样式:solid, dashed, dotted等
arrowhead=vee, // 箭头类型:none, normal, vee等
penwidth=2.0 // 线宽
];
}
给边增加颜色
digraph G {
2->1->3->4 [color=blue];
3->1->4->2 [color=red];
}

4. 常用图形示例
流程图
digraph flowchart {
node [shape=box, style=rounded]
start [shape=ellipse, label="开始"]
input [label="输入数据"]
process [label="处理数据"]
decision [shape=diamond, label="判断条件"]
output [label="输出结果"]
end [shape=ellipse, label="结束"]
start -> input -> process -> decision
decision -> output [label="是"]
decision -> process [label="否"]
output -> end
}
组织结构图
digraph org {
node [shape=box, style=filled, fillcolor=lightblue]
CEO -> {CTO, CFO, COO}
CTO -> {DevManager, QAManager}
CFO -> {AccManager, FinManager}
COO -> {OpsManager}
DevManager -> {FrontendLead, BackendLead}
}
状态机
digraph state_machine {
node [shape=circle]
idle -> running [label="启动"]
running -> paused [label="暂停"]
paused -> running [label="恢复"]
running -> idle [label="停止"]
paused -> idle [label="停止"]
}
5. 布局引擎
Graphviz 提供多种布局引擎,通过命令行指定:
dot- 有向图的层次布局(默认)neato- 弹簧模型布局fdp- 类似neato,但力导向circo- 环形布局twopi- 径向布局
使用方式:
dot -Tpng input.dot -o output.png
6. 实用技巧
- 注释:使用
//或/* */添加注释 - HTML标签:可以在标签中使用HTML格式
A [label=< <table border="0"> <tr><td>姓名</td><td>张三</td></tr> <tr><td>年龄</td><td>25</td></tr> </table> >] - 子图:用
subgraph组织相关节点digraph { subgraph cluster_A { label="模块A"; A1; A2; A3; } subgraph cluster_B { label="模块B"; B1; B2; } A1 -> B2 }
7. 生成图片
保存代码到 .dot 文件后,使用命令行生成图片:
# 生成PNG
dot -Tpng graph.dot -o graph.png
# 生成SVG(推荐矢量图)
dot -Tsvg graph.dot -o graph.svg
# 指定布局引擎
neato -Tpng graph.dot -o graph.png
学习资源
- 官方文档:graphviz.org/documentation
- 图库示例:graphviz.org/gallery
- 交互式编辑器:
edotor.net
sketchviz.com
现在你已经掌握了 Graphviz 的基础知识,可以开始创建自己的图表了!从简单图形开始,逐步尝试更复杂的可视化需求。

浙公网安备 33010602011771号