用途:使用 Graphviz DOT 语言创建复杂图形可视化,输出同时包含内联 DOT 源码与预渲染图片,便于查看和后续编辑。
主要能力:支持有向图(digraph)与无向图(graph);可设置图、节点、边属性,如 rankdir、splines、shape、fillcolor、label、arrowhead 等;支持子图与 cluster、record 结构化节点、HTML 标签;提供 dot、neato、fdp、sfdp、circo、twopi 等布局引擎。常见模式包括依赖图、状态机、调用图、网络拓扑、实体关系图与流程图。
使用方式:先编写 DOT 源码,再调用渲染函数生成图片,最后在 Markdown 中同时嵌入源码与图片。渲染函数通过 subprocess 调用引擎,例如 dot -Tpng -o 输出文件,输入为 DOT 文本;不同引擎可产生不同布局。文档结构建议包含 Diagram 名称、Source 代码块与 Rendered 图片。还提供发布到 Obsidian 与 Joplin 的集成示例。
适用场景:复杂依赖图、调用图与代码流、网络拓扑、层级结构、复杂状态机,以及任何需要精确布局控制的图形。
限制与前提:需先安装 Graphviz,可用 brew install graphviz、sudo apt-get install graphviz 或 choco install graphviz,并用 dot -V 验证;输出目录需可写;DOT 语法需有效;需选择合适的布局引擎;输出需同时包含源码与图片,并确保图片路径正确。与 Mermaid 相比,Graphviz 布局控制更精确、适合大型复杂图,但需外部工具渲染、学习曲线更陡。