Graphviz ignore la taille de l'attribut (page A4)

De considérer les éléments suivants exemple minimal graphique qui doit tenir sur une page A4

digraph G{
size="8.3,11.7!" ratio=fill;
foo->bar;
}

Compiler avec neato -Tpdf -o min_ex.pdf min_ex.gv
Le fichier pdf a des dimensions de 236mm x 115mm et non, comme prévu, 210mm x 297mm.

Graphviz ignore cet attribut à la fois pour les graphes qui sont plus petits que la page (comme celui-ci) et ceux qui doivent être revus à la baisse pour s'adapter.

J'ai essayé toutes les combinaisons de size et ratio attributs, je ne peux pas obtenir le graphique de la mettre sur une page A4 avec l'un d'eux.

Donc, qu'ai-je à préciser que le graphe est toujours mis sur une page A4, quelle que soit sa taille?

Documentation:

taille:

Maximale de la largeur et de la hauteur du dessin, en pouces. Si un seul numéro est donné, ce est utilisé pour la largeur et la hauteur.

Si elle est définie et le dessin est plus grand que la taille donnée, le dessin est uniformément mis à l'échelle vers le bas de sorte qu'il s'adapte à la taille donnée.

Si la taille se termine par un point d'exclamation (!), puis il est pris à la taille souhaitée. Dans ce cas, si les deux dimensions du dessin sont à moins de taille, le dessin à l'échelle uniformément jusqu'à ce qu'au moins une des dimensions est égale à sa dimension dans la taille.

ratio

Définit le rapport d'aspect (hauteur de dessin/dessin de la largeur) pour le dessin. Notez que ceci est réglé avant que l'attribut de taille, les contraintes sont appliquées. En outre, les calculs généralement ignorer le nœud de tailles, de sorte que le dessin final taille peut seulement se rapprocher de ce qui est souhaité.

Si le ratio est numérique, il est considéré comme le format d'image désiré. Ensuite, si le rapport d'aspect est inférieure à la température souhaitée, le dessin de la hauteur à l'échelle pour atteindre le ratio désiré; si le rapport réel est plus grand que dans le rapport désiré, le dessin de la largeur de l'échelle.

Si le ratio = "fill" et la taille de l'attribut est défini, les positions des nœuds sont mis à l'échelle, séparément dans les deux x et y, de sorte que le dessin final remplit exactement la taille spécifiée. Si les deux valeurs de la taille de dépasser la largeur et la hauteur du dessin, puis les deux valeurs de coordonnées de chaque nœud sont mis à l'échelle en conséquence. Toutefois, si la taille de la dimension est plus petite que la dimension correspondante dans le dessin, une dimension à l'échelle de sorte que le dessin final a le même aspect que spécifié par la taille. Puis, lors du rendu, la mise en page sera mis à l'échelle vers le bas de manière uniforme dans les deux dimensions, pour s'adapter à la taille donnée, ce qui peut causer des nœuds de texte et à une réduction de l'. Cela peut ne pas être ce que veut l'utilisateur, mais il évite le problème difficile de la façon de repositionner les nœuds dans une mesure acceptable de la mode pour réduire la taille du dessin.

Si le ratio = "compresser" et la taille de l'attribut est défini, le point tentatives pour compresser la mise en page initiale pour les adapter à la taille donnée. Cela permet d'obtenir un resserrement de l'emballage des nœuds, mais réduit l'équilibre et de la symétrie. Cette fonctionnalité ne fonctionne que dans le point.

Si le ratio = "expand", la taille de l'attribut est défini, et à la fois la largeur et la hauteur du graphique sont inférieurs à la valeur de la taille, les positions des nœuds sont effectués de manière uniforme jusqu'à ce qu'au moins une dimension correspond à la taille exactement. Notez que ceci est différent de l'aide la taille de la taille désirée, comme ici, le dessin est développé avant de bords sont générés et tous nœud et la taille du texte reste inchangé.

Si le ratio = "auto", l'attribut de la page est définie et que le graphique ne peut être tirée sur une seule page, puis sur taille est définie à un `idéal" de la valeur. En particulier, la taille dans une dimension donnée sera le plus petit multiple de la taille de la page dans la dimension qui est au moins la moitié de la taille actuelle. Les deux dimensions sont ensuite mis à l'échelle de façon indépendante à la nouvelle taille. Cette fonctionnalité ne fonctionne que dans le point.

OriginalL'auteur J. Curwen | 2013-07-18