Уменьшение размера (по площади) графа, сгенерированного graphviz

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

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

59
задан einpoklum - reinstate Monica 27 June 2016 в 05:26
поделиться

1 ответ

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

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

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

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

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

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

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

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

94
ответ дан 24 November 2019 в 18:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: