graphviz

graphviz

热门

使用 DOT 语言创建有向/无向图,自动布局。最适合依赖树、调用图、包层次结构和需要精细边路由的模块关系。

3093Star
178Fork
更新于 2026/5/26
SKILL.md
readonly只读
name
graphviz
description

Create directed/undirected graphs using DOT language with automatic layout. Best for dependency trees, call graphs, package hierarchies, and module relationships requiring fine-grained edge routing.

Graphviz DOT 图表生成器

重要提示: 使用 ```dot 作为代码围栏标识符,而不是 ```graphviz

快速入门: 选择 digraph(有向)或 graph(无向)→ 定义节点及其属性(形状、颜色、标签)→ 使用 ->-- 连接 → 设置布局(rankdir、间距)→ 包裹在 ```dot 围栏中。默认:从上到下(rankdir=TB),集群名称必须以 cluster_ 开头,使用分号。


关键语法规则

规则 1:集群命名

❌ subgraph backend { }      → 不会渲染为框
✅ subgraph cluster_backend { }  → 必须以 cluster_ 开头

规则 2:带空格的节点 ID

❌ API Gateway [label="API"];    → 无效 ID
✅ "API Gateway" [label="API"];  → 引用 ID
✅ api_gateway [label="API Gateway"];  → 使用下划线 ID

规则 3:边语法区别

digraph: A -> B;   → 有向箭头
graph:   A -- B;   → 无向线

规则 4:属性语法

❌ node [shape=box color=red]    → 缺少逗号
✅ node [shape=box, color=red];  → 逗号分隔

规则 5:HTML 标签

✅ HTML 标签使用 shape=plaintext
✅ HTML 内容使用 < > 而不是 " "

常见陷阱

问题 解决方案
节点重叠 增加 nodesepranksep
布局不佳 更改 rankdir 或添加 {rank=same}
边交叉 使用 splines=ortho 或调整节点顺序
集群不显示 名称必须以 cluster_ 开头
标签不显示 检查引号转义

输出格式

```dot
digraph G {
    [图表代码]
}
```

相关文件

有关高级布局控制和复杂样式,请参考以下参考资料:

  • syntax.md — 布局控制(rankdir、splines、rank)、HTML 标签、边样式、集群子图和基于记录的节点