graphviz dot: как вставить стрелки из узла в центр стрелки
Я пытаюсь создать диаграммы для анализа MPLUS с точкой из пакета graphviz. У кого-нибудь есть опыт использования dot для визуализации моделей структурных уравнений/моделей латентной смеси классов? Есть особенно одна особенность, которую я не могу понять, как это сделать красиво:
Мне нужны стрелки от узлов к центру другой стрелки, например
C | | V A ------------> B
Я попытался вставить невидимый узел на пересечении стрелок. Это, однако, результаты в" трещины " a--->b стрелка, потому что точка представляет его как две независимые стрелки. Это вообще возможно с точки?
Спасибо за предложения и помощь!
Грегор
2 ответов
основываясь на ответе spenthil, чтобы избавиться от излома:
digraph {
ab[label="", fixedsize="false", width=0, height=0, shape=none];
a -> ab[arrowhead=None];
ab -> b;
c -> ab;
{rank=same; a; ab; b};
}
выход:
другой возможностью было бы играть с weight
атрибут ребер для выравнивания ребер.
следующее предотвращает" треснувшие " стрелки. Точка, к сожалению, вводит перегиб между a -> ab
и ab->b
края. Не знаю алгоритма компоновки, который предотвращает это.
digraph {
a;
ab[label="", fixedsize="false", width=0, height=0, shape=none];
b;
c;
a -> ab[arrowhead=None];
ab -> b;
c -> ab;
}
выход: