Как мне сконцентрировать двунаправленные соединения между кластерами?

Возьми следующий орграф:

digraph "all"{

  subgraph "cluster cluster 1" {
    node [label="1"] "1"
    node [label="2"] "2"
  }

  subgraph "cluster cluster 2" {
    node [label="3"] "3"
    node [label="4"] "4"
  }

  1 -> 2
  2 -> 1

  3 -> 4
  4 -> 3

}

Чтобы превратить двунаправленные соединения в одну стрелку,
Я должен использовать concentrate=true;,

digraph "all"{

  subgraph "cluster cluster 1" {
    node [label="1"] "1"
    node [label="2"] "2"
  }

  subgraph "cluster cluster 2" {
    node [label="3"] "3"
    node [label="4"] "4"
  }

  1 -> 2
  2 -> 1

  3 -> 4
  4 -> 3

  concentrate=true;

}

Это работает внутри отдельных кластеров, но не работает между кластерами.
Я пробовал посыпать concentrate=true в других местах, но это не сработало.

digraph "all"{

  subgraph "cluster cluster 1" {
    node [label="1"] "1"
    node [label="2"] "2"
    concentrate=true;
  }

  subgraph "cluster cluster 2" {
    node [label="3"] "3"
    node [label="4"] "4"
    concentrate=true;
  }

  1 -> 2
  2 -> 1

  3 -> 4
  4 -> 3

  2 -> 3
  3 -> 2

  concentrate=true;

}


Как я могу сконцентрировать связи между кластерами диграфов?

2 ответа

Используйте модификатор подключения [dir=both]

2 -> 3 [dir=both]

Затем вы можете удалить ссылку с 3 -> 2

Для двунаправленных графиков, если вам не нужно показывать стрелки, вы можете добавить «edge[arrowhead=none]» в дополнение к «convert = true».

Другие вопросы по тегам