La réduction de la taille (comme dans la zone) du graphe généré par graphviz
Quelqu'un avez des conseils généraux pour la réduction de la taille d'un graphique généré par graphviz (de la taille que dans la zone, n'est pas, comme la taille du fichier).
J'ai un assez grand graphique (700 nœuds). - Je définir une taille de police plus petite pour chaque nœud, mais il semble seulement de réduire la taille de la police et non pas le nœud de la taille. Existe-il des attributs pour réduire la quantité totale d'espace vide dans le graphique? Merci!
- Cette stackoverflow.com/questions/1286813/... la réponse est sur la plus élégante et moins de travail à mettre en œuvre.
- non, la réponse vous lien est dans le résumé "pour rendre le graphique plus petit, "zoom out"--fine, qui travaille probablement rendu toute image numérique. GraphViz est un moteur de rendu graphique, par conséquent, une réponse utile à des questions au sujet de la réduction de graphe de taille sont le plus utilement réalisé à la disposition du graphique lui-même, parce que c'est l'essence de ce que GraphViz n', qui est la mise en page des graphiques. Qui plus est, le "zoom out" solution n'a pas d'adresse par exemple, de grandes régions de l'espace ou de la rareté, mais des techniques pour une meilleure mise en page, en fait.
Vous devez vous connecter pour publier un commentaire.
Dans mon expérience avec graphviz pour le rendu des graphiques de cette taille (~ 700 nœuds), un minimum d'essais et d'erreurs d'ajustement à cette combinaison de paramètres d'attributs--structurel, certains purement esthétique, pour tous les trois objets (graphe, les nœuds et les arêtes) devrait faire ce que vous voulez:
de réduire la distance minimale de séparation entre les nœuds, via nodesep'; par exemple, nœuds[nodesep=0.75]; cela rendra votre graphique "trop compact." (nodesep et ranksep probablement affecter la façon dot dessine un graphique plus que tout autre paramètre réglable)
de réduire la distance minimale entre les nœuds de rang différent, e.g, nœuds[ranksep=0.75]; 'ranksep' définit la distance minimale entre les nœuds de rang différent--cela va affecter votre présentation graphique de manière significative si votre graphique est composé de plusieurs rangs
augmenter le bord des poids, par exemple, bord[de poids=1.2]; cela permettra de rendre les bords plus courts, à son tour rendre le graphique plus compact
supprimer le nœud frontières et le nœud de remplissage, par exemple, nœuds[color=aucun; la forme=plaintext], en particulier pour l'ovale en forme de nœuds, une fraction substantielle du total nœud de l'espace est "inutilisé" (c'est à dire pas utilisé pour afficher l'étiquette du nœud); chaque nœud de l'empreinte est maintenant réduit à son texte
définir explicitement la taille de la police pour les nœuds (le nœud frontières sont agrandies afin qu'ils entourent le nœud de texte, ce qui signifie que la taille de la police et de la quantité de texte pour un noeud donné a un effet significatif sur sa taille); [fontsize=11] doit être suffisamment grand pour être lisible, mais aussi de réduire les encombré de l'apparence (la taille par défaut est de 14)
utiliser des couleurs différentes pour les nœuds et les arêtes--cela rendra votre graphique plus facile à lire; par exemple, définir le nœud 'texte' fontcolor bleu et le bord fontcolor de "gris" à l'aide de l'œil à distinguer les deux ensembles de graphe structures. Cela permettra de faire une plus grande différence que vous ne le pensez.
définir explicitement total graphique de la taille, par exemple, graphique[size="7.75,10.25"] (veille à ce que votre graphique s'adapte sur une page 8,5 x 11 et qu'il occupe tout l'espace)
cat [something.dot] | dot-Gdpi=64 -Tpng:cairo:cairo > [outfile.png]
qui vient à l'échelle le graphique...nodes[nodesep=0.75]
ne fonctionne plus, il doit être mis directement dans le graphique. De même pourranksep