Поместите узел справа от подграфа с помощью графика - PullRequest
1 голос
/ 20 апреля 2019

Я использую graphviz для построения DAG простой модели скрытой переменной:

digraph G {

    splines=line;

    subgraph cluster {
        node [style=filled, shape=circle];
        edge [color=blue]
        z[fillcolor=white, color=black, pos = "0,0!"]
        z -> x;
    }

    theta[label = "θ", shape=circle, pos = "10,0!"]
    edge [color=black, style="dashed"]
    theta->z
    theta->x

}

Выход приличный:

enter image description here

но я бы хотел, чтобы θ была на той же высоте, что и z. Это возможно? Я пытался использовать атрибут pos, но, как вы видите, он приятно игнорируется. Я работаю в HackMD .

1 Ответ

1 голос
/ 20 апреля 2019

Вы можете добавить ограничение =false атрибут к своим theta ребрам, чтобы они не влияли на макет, а узлы оставались рядом:

digraph G {

    splines=line;

    subgraph cluster1 {
        node [style=filled, shape=circle];
        edge [color=blue]
        z[fillcolor=white, color=black, pos = "0,0!"]
        z -> x;
    }
    theta[label = "θ", shape=circle, pos = "10,0!"]
    edge [color=black, style="dashed"]
    theta -> z [constraint=false]
    theta -> x [constraint=false] // actually this one is unnecessary, may be omited in this example

}

Кроме того, вы можете поэкспериментировать с направлением края (например, поменять местами a-> b, b-> a), это иногда помогает при позиционировании кластеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...