1

我有一个 LR 方向的图

digraph {
  rankdir=LR;
  node [shape=box]
  x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8;
  node [shape=oval]
  ind60;dem60;dem65;
  {x1,x2,x3} -> ind60 
  dem65->{y5,y6,y7,y8} 

  subgraph cluster_0{
  rankdir=TB 

  {y1,y2,y3,y4} -> dem60[constraint=false]

  }
  ind60->dem60 ind60->dem65 dem60->dem65
}

结果如下: image1

我想要 TB 方向的子图。我怎样才能做到这一点?

子图

4

1 回答 1

1

根据文档 rankdir 仅适用于图而不适用于子图。

您可以通过添加一些像这样的不可见边和节点形式的脚手架来解决这个问题

digraph {
  rankdir=LR;
  node [shape=box]
  x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8;
  node [shape=oval]
  ind60;dem60;dem65;
  {x1,x2,x3} -> ind60 
  dem65->{y5,y6,y7,y8} 

  subgraph cluster_0{

      y2a[shape=point color=none]
      y1->y2->y2a->y3->y4[color=none weight=1000]
      {y1 y2}->dem60
      {rank=same y2a->dem60[color=none]}
      {y3 y4}->dem60

  }
  {rank=same ya[shape=point color=none] x1 x2 x3}
  {rank=same yb[shape=point color=none] y5 y6 y7 y8}
  ya->y1[color=none] y4->yb[color=none]
  ind60->dem60 ind60->dem65 dem60->dem65
}

在此处输入图像描述

于 2017-12-29T22:47:37.573 回答