Как установить силу «пружины» с помощью Graphviz для компактных макетов графиков - PullRequest
10 голосов
/ 05 апреля 2011

Я создаю диаграмму с помощью graphviz , и у меня есть проблема - есть несколько очень больших узлов - и большое количество маленьких узлов. Я попытался сгенерировать png с neato и fdp , но оба генерируют очень большую графику, которая в основном пуста (узлы расположены очень далеко друг от друга) , Есть ли способ установить большую силу пружины для этих инструментов, чтобы узлы сближались?

1 Ответ

11 голосов
/ 06 апреля 2011

При использовании neato вы можете поиграться с overlap и атрибутом sep.

overlap можно установить на false, compress, scalexy и more .

sep может либо обозначать аддитивную маржу при использовании с предшествующим знаком плюс, в противном случае маржа определяется путем масштабирования размера узла с 1 + значением sep. Похоже, что по умолчанию

Не стесняйтесь размещать образец графика. Не зная вашего конкретного графика, я сделал пример, содержащий несколько больших и несколько маленьких узлов:

layout=neato;
overlap=scalexy; //false, compress, ...
sep="+1"; // 0.1, +1

node[label="Large node", width=2, height=2];
l1; l2; l3;
node[label="\N", width=0.5, height=0.3];
1 -> l1;
2 -> l1;
3 -> l1;
4 -> l1;
5 -> l1;
5 -> l2;
6 -> l2;
7 -> l2;
8 -> l2;
8 -> l3;
9 -> l3;
10 -> l3;

enter image description here

...