子图水平,其节点垂直对齐

时间:2016-09-13 09:08:34

标签: graphviz

我有问题将水平子图和子图中的节点垂直组织。所有这些(子图和节点)只在一条线上(水平或垂直)。

digraph G {
  rankdir = LR;
  subgraph cluster_0 {
    rankdir = TB;
    node [style=filled];
    label = "Title 1";
    color=black
    N1 -> N2;
  }
  subgraph cluster_1 {
    rankdir = TB;
    node [style=filled];
    label = "Title 2";
    color=black
    N3 -> N4 -> N5;
  }
  subgraph cluster_2 {
    rankdir = TB;
    node [style=filled];
    ...
  }
  ...

  N2 -> N3;
  ...

  N1 [label = "BA_A", fillcolor="green", shape="Msquare"]
  N2 [label = "W2", fillcolor="green", shape="octagon"]
  N3 [label = "BA_A", fillcolor="green", shape="Msquare"]
  N4 [label = "W2", fillcolor="green", shape="octagon"]
  N5 [label = "W2_ERROR", fillcolor="red", shape="octagon"]
  N6 [label = "W3", fillcolor="green", shape="invtriangle"]
  ...
}

我也试过{rank=same; N1; N3; ...;}。这将节点从子图中取出。

2 个答案:

答案 0 :(得分:2)

你可以使用类似的东西:

#loading { 
   visibility : hidden;
 }

output

答案 1 :(得分:0)

在您的情况下,我更喜欢从上到下的布局

digraph G {
  rankdir = TB;
  node [style=filled];
  subgraph cluster_0 {
    N1 N2
    label = "Title 1";
    edge [dir = back]
    N2 -> N1;
  }
  subgraph cluster_1 {
    N3 N4 N5
    label = "Title 2";
    edge [dir = back]
    N5 -> N4 -> N3;
  }
  subgraph cluster_2 {
    label = "Title 3";
    N6
  }
  N2 -> N3 [constraint=none];
  N5 -> N6 [constraint=none];
  N1 [label = "BA_A", fillcolor="green", shape="Msquare"]
  N2 [label = "W2", fillcolor="green", shape="octagon"]
  N3 [label = "BA_A", fillcolor="green", shape="Msquare"]
  N4 [label = "W2", fillcolor="green", shape="octagon"]
  N5 [label = "W2_ERROR", fillcolor="red", shape="octagon"]
  N6 [label = "W3", fillcolor="green", shape="invtriangle"]
}

enter image description here