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