Уменьшение размера (как в области) графика, генерируемого graphviz

есть ли у кого-нибудь общие советы по уменьшению размера графика, генерируемого graphviz (размер как в области, а не как в размере файла).

У меня довольно большой граф (700 узлов). Я установил меньший размер шрифта для каждого узла, но, похоже, он только уменьшает размер шрифта, а не фактический размер узла. Существуют ли какие-либо атрибуты для уменьшения общего объема пустого пространства на графике? Спасибо!

1 ответов


по моему опыту, используя graphviz для рендеринга графиков такого размера (~ 700 узлов), минимальная настройка методом проб и ошибок для этой комбинации настроек атрибутов-некоторые структурные, некоторые чисто эстетические-для всех трех объектов (график, узлы и ребра) должны делать то, что вы хотите:

уменьшить минимальное расстояние между узлами, через 'nodesep'; например, узлы[nodesep=0.75]; это сделает ваш график "слишком компактный."(nodesep и ranksep вероятно, влияет на то, как точка рисует график больше, чем любой другой регулируемый параметр)

уменьшить минимальное расстояние между узлами разных рангов, электронной.г, узлы[ranksep=0.75]; 'ranksep' устанавливает минимальное расстояние между узлами разных рангов-это значительно повлияет на макет графика, если ваш график состоит из многих рангов

увеличение веса края, например, краю[вес=1.2]; это сделает ребра короче, в свою очередь, делая весь график более компактным

удалить границы узлов и заполнить узел, например, узлы[цвет=нет; форма=обычный текст], особенно для овальных узлов, значительная часть общего пространства узла "не используется" (т. е. не используется для отображения метки узла); след каждого узла теперь сводится только к его тексту

явно установить размер шрифта для узлов (границы узла увеличено так, что они окружают текст узла, что означает, что размер шрифта и объем текста для данного узла оказывает значительное влияние на его размер); [fontsize=11] должен быть достаточно большим, чтобы быть разборчивым, но также уменьшить "загроможденный" внешний вид (размер по умолчанию-14)

используйте разные цвета для узлов и ребер--это сделает ваш график более легким для чтения; например, установите узел 'text' fontcolor в синий, а край fontcolor в "серый", чтобы помочь глазу различать два набора графовых структур. Это будет иметь большее значение, чем вы думаете.

явно установить общий размер графика, например, graph[size= "7.75, 10.25"] (гарантирует, что ваш график помещается на странице 8.5 x 11 и занимает все пространство)