相关疑难解决方法(0)

GraphViz - 如何连接子图?

DOT语言中GraphViz,我试图表示一个依赖关系图.我需要能够在容器内部拥有节点,并且能够使节点和/或容器依赖于其他节点和/或容器.

subgraph用来代表我的容器.节点链接工作正常,但我无法弄清楚如何连接子图.

鉴于下面的程序,我需要能够连接cluster_1cluster_2使用箭头,但我尝试过的任何东西都会创建新节点而不是连接集群:

digraph G {

    graph [fontsize=10 fontname="Verdana"];
    node [shape=record fontsize=10 fontname="Verdana"];

    subgraph cluster_0 {
        node [style=filled];
        "Item 1" "Item 2";
        label = "Container A";
        color=blue;
    }

    subgraph cluster_1 {
        node [style=filled];
        "Item 3" "Item 4";
        label = "Container B";
        color=blue;
    }

    subgraph cluster_2 {
        node [style=filled];
        "Item 5" "Item 6";
        label = "Container C";
        color=blue;
    }

    // Renders fine
    "Item 1" -> "Item 2";
    "Item 2" -> "Item …
Run Code Online (Sandbox Code Playgroud)

graphics directed-graph dot graphviz subgraph

152
推荐指数
3
解决办法
8万
查看次数

在 Graphviz 中合并图形

我有一组用 DOT 语言编码的有向图,我想将它们合并成一个有向图,其中不同输入图中具有相同名称的节点合并在一起。

例如给定以下文件:

1.dot

digraph {
    A -> B
    A -> C
}
Run Code Online (Sandbox Code Playgroud)

2.dot

digraph {
    D -> E
    E -> F
}
Run Code Online (Sandbox Code Playgroud)

3.dot

digraph {
    D -> G
    G -> A
}
Run Code Online (Sandbox Code Playgroud)

我想获得以下内容result.dot

digraph {
  subgraph {
    A -> B
    A -> C
  }
  subgraph {
    D -> E
    E -> F
  }
  subgraph {
    D -> G
    G -> A
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用,gvpack但它重命名了重复的节点。

> gvpack -u 1.dot 2.dot 3.dot
Warning: …
Run Code Online (Sandbox Code Playgroud)

dot graphviz

5
推荐指数
2
解决办法
2237
查看次数

标签 统计

dot ×2

graphviz ×2

directed-graph ×1

graphics ×1

subgraph ×1