Края внутри записи в графивиз / точка - PullRequest
0 голосов
/ 04 мая 2018

Я хочу выделить связь внутри записи в graphviz (v 2.38.0), запустив прямую грань между двумя элементами в этой записи. Однако точка делает все возможное, чтобы запустить ребро за пределами узла записи.

Следующий пример показывает мою проблему.

digraph {
  rankdir = LR;
  splines = line;

  i1; i2; i3;
  mux [shape=record,label="{  {<i1>i1|<i2>i2|<i3>i3} | MUX | <o1>o1}"];
  o;

  i1 -> mux:i1;
  i2 -> mux:i2;
  i3 -> mux:i3;
  mux:o1 -> o;

  mux:i1:e -> mux:o1:w [color=red];

}

enter image description here

Я хочу, чтобы красный край был прямой линией между портами внутри записи. Мне все равно, если край перекрывает лейбл.

Есть ли способ заставить край быть прямой линией, игнорируя препятствия, или иным образом указать точку, которую объект должен игнорировать, если он перекрывает узлы / метки?

Эта проблема похожа на Границы Graphviz между портами, принадлежащими одному и тому же узлу записи, выглядят плохо , на который нет ответа.

1 Ответ

0 голосов
/ 11 марта 2019

Попробуйте: splines = curved;

digraph {
  rankdir = LR;
  splines = curved;

  i1; i2; i3;
  mux [shape=record,label="{  {<i1>i1|<i2>i2|<i3>i3} | MUX | <o1>o1}"];
  o;

  i1 -> mux:i1;
  i2 -> mux:i2;
  i3 -> mux:i3;
  mux:o1 -> o;

  mux:i1:e -> mux:o1:w [color=red];


}

png

...