Graphviz 图形可视化教程
Graphviz 图形可视化教程
Graphviz(Graph Visualization Software)是 AT&T 实验室开源的图形可视化工具套件,使用声明式的 DOT 语言 描述图形结构,由自动布局引擎计算最优排布,广泛应用于软件工程、数据科学、网络拓扑等领域。
教程总览
本教程共 12 章,从入门概念到工程实践,系统覆盖 Graphviz 的核心知识体系。
| 章节 | 标题 | 关键内容 | 适合读者 |
|---|---|---|---|
| 01 | Graphviz 概述 | DOT 语言简介、布局引擎、适用场景、发展历史 | 所有读者 |
| 02 | 安装与环境配置 | 多平台安装、编辑器插件、字体支持、语言绑定 | 所有读者 |
| 03 | DOT 语言基础 | 节点、边、图声明、基本属性、有向图与无向图 | 初学者 |
| 04 | 节点详解 | 形状、样式、标签、HTML 标签、记录(Record)、端口 | 初学者 |
| 05 | 边详解 | 箭头类型、边标签、样式、端口、约束、跨子图边 | 初学者 |
| 06 | 布局引擎 | dot/neato/fdp/circo/twopi/osage 原理与选择指南 | 中级用户 |
| 07 | 子图与集群 | 子图、集群(Cluster)、嵌套、分组、边界样式 | 中级用户 |
| 08 | 属性系统 | 全局/节点/边属性、颜色、字体、样式详解 | 中级用户 |
| 09 | 高级特性 | HTML 表格标签、图片嵌入、端口、排名约束 | 高级用户 |
| 10 | 编程语言绑定 | Python/Go/Node.js/Rust 库、动态图生成 | 开发者 |
| 11 | Docker 与自动化 | 容器化渲染、批量处理、PDF 输出、服务化部署 | 运维/开发者 |
| 12 | 最佳实践 | 布局选择、性能优化、可读性、导出格式、真实用例 | 所有读者 |
快速开始
安装 Graphviz 后,将以下内容保存为 hello.dot,然后运行 dot -Tpng hello.dot -o hello.png:
digraph G {
rankdir=LR
node [shape=box style=filled fillcolor="#E8F4FD" color="#4A90D9" fontname="Microsoft YaHei"]
edge [color="#666666"]
开始 -> 编写DOT文件 -> 选择布局引擎 -> 渲染输出 -> 完成
}
学习路线建议
初学者: 01 → 02 → 03 → 04 → 05 → 12
中级: 06 → 07 → 08 → 09
开发者: 10 → 11
参考资源
| 资源 | 地址 |
|---|---|
| Graphviz 官方文档 | https://graphviz.org/documentation/ |
| DOT 语言规范 | https://graphviz.org/doc/info/lang.html |
| 在线编辑器 (Edotor) | https://edotor.net |
| 在线编辑器 (Graphviz Online) | https://dreampuf.github.io/GraphvizOnline |
| GitHub 仓库 | https://github.com/graphviz/graphviz |