dot 绘图 Tips

dot 和 gvedit 支持中文:

  1. dot 文件保存为 UTF-8 格式.
  2. 添加 node 或 edge 的属性 fontname, 可以为 “FangSong”, “KaiTi”, “SimSun”. 如:

     A-> B [fontname="SimSun", label="测试"];
    

    字体列表参考:

    参考: Graphviz使用简介(中文乱码的问题)


在命令行用 dot 解析生成 png 图片:

dot -Tpng -o test.png test.dot

subgraph 显示

当使用 subgraph 时, 子图本身可能并不会被显示出来, 而只是显示出 node 和 edge.

可以通过给 subgraph 变量名添加 cluster 前缀来显示.

参考: Graphviz subgraph doesn’t get visualized


subgraph 之间的连接

dot 的 digraph 中, 并不支持直接两个 subgraph 的连接. 如

subgraph cluster_sub_01 {
    ...
}

subgraph cluster_sub_02 {
    ...
}

cluster_sub_01 -> cluster_sub_02

中的 cluster_sub_01 -> cluster_sub_02 不会在两个子图间建立连接, 而是会新建两个名为 cluster_sub_01 和 cluster_sub_02 的 node.

可以通过设置 compound=true 以及在 edge 上设置 ltail, lhead 达到效果.

详细可参考: GraphViz - How to connect subgraphs?