Ранжирование узла Graphviz программно - PullRequest
3 голосов
/ 23 марта 2012

Как мне создать следующий граф с помощью c-библиотеки graphviz:

digraph G {
    {rank=same; n1, n2}
    n1 -> n2 -> n3;
}

Следующие строки понятны:

g = agopen("G", AGFLAG_DIRECTED);
agnode(g, "n1");
agnode(g, "n2");
agnode(g, "n3");
agedge(g, "n1", "n2");
agedge(g, "n2", "n3");

Как мне оценить n1 и n2?

1 Ответ

4 голосов
/ 26 марта 2012

Я нашел решение.Скобки дали мне подсказку.

{rank=same; n1, n2}

Это должен быть подграф.Таким образом, следующие строки сделают трюк:

Agraph_t *sub = agsubg(g, "");
agsafeset(sub, "rank", "same", "");
...