Disposition de contrôle en utilisant graphviz twopi
Je suis en train de dessiner un graphique montrant les préfixes de recherche à l'aide de twopi. J'ai un simple fichier d'entrée et j'obtiens ce résultat:
le texte d'alt http://www.freeimagehosting.net/uploads/th.ac6cd51528.png
(image complète)
Voici le fichier d'entrée:
digraph search {
//ordering=out;
//color=blue;
//rank=same;
//overlap=scale;
rankdir=LR;
root=root;
ranksep=1.25;
overlap=true;
"root";
a [color=none,fontsize=12];
b [color=none,fontsize=12];
c [color=none,fontsize=12];
d [color=none,fontsize=12];
e [color=none,fontsize=12];
f [color=none,fontsize=12];
#g [color=none,fontsize=12];
h [color=none,fontsize=12];
i [color=none,fontsize=12];
j [color=none,fontsize=12];
k [color=none,fontsize=12];
l [color=none,fontsize=12];
m [color=none,fontsize=12];
n [color=none,fontsize=12];
o [color=none,fontsize=12];
p [color=none,fontsize=12];
q [color=none,fontsize=12];
r [color=none,fontsize=12];
s [color=none,fontsize=12];
t [color=none,fontsize=12];
u [color=none,fontsize=12];
v [color=none,fontsize=12];
w [color=none,fontsize=12];
x [color=none,fontsize=12];
y [color=none,fontsize=12];
#ga [color=none,fontsize=12];
gb [color=none,fontsize=12];
gc [color=none,fontsize=12];
gd [color=none,fontsize=12];
ge [color=none,fontsize=12];
gf [color=none,fontsize=12];
gg [color=none,fontsize=12];
gh [color=none,fontsize=12];
gi [color=none,fontsize=12];
gj [color=none,fontsize=12];
gk [color=none,fontsize=12];
gl [color=none,fontsize=12];
gm [color=none,fontsize=12];
gn [color=none,fontsize=12];
go [color=none,fontsize=12];
gp [color=none,fontsize=12];
gq [color=none,fontsize=12];
gr [color=none,fontsize=12];
gs [color=none,fontsize=12];
gt [color=none,fontsize=12];
gu [color=none,fontsize=12];
gv [color=none,fontsize=12];
gw [color=none,fontsize=12];
gx [color=none,fontsize=12];
gy [color=none,fontsize=12];
gaa [color=none,fontsize=12];
gab [color=none,fontsize=12];
gac [color=none,fontsize=12];
gad [color=none,fontsize=12];
gae [color=none,fontsize=12];
gaf [color=none,fontsize=12];
gag [color=none,fontsize=12];
gah [color=none,fontsize=12];
gai [color=none,fontsize=12];
gaj [color=none,fontsize=12];
gak [color=none,fontsize=12];
gal [color=none,fontsize=12];
gam [color=none,fontsize=12];
gan [color=none,fontsize=12];
gao [color=none,fontsize=12];
gap [color=none,fontsize=12];
gaq [color=none,fontsize=12];
#gaz [color=none,fontsize=12];
gas [color=none,fontsize=12];
gat [color=none,fontsize=12];
gau [color=none,fontsize=12];
gav [color=none,fontsize=12];
gaw [color=none,fontsize=12];
gax [color=none,fontsize=12];
gay [color=none,fontsize=12];
gaza [color=none,fontsize=12];
gazb [color=none,fontsize=12];
gazc [color=none,fontsize=12];
gazd [color=none,fontsize=12];
gaze [color=none,fontsize=12];
#gazf [color=none,fontsize=12];
gazg [color=none,fontsize=12];
gazh [color=none,fontsize=12];
gazi [color=none,fontsize=12];
gazj [color=none,fontsize=12];
gazk [color=none,fontsize=12];
gazl [color=none,fontsize=12];
gazm [color=none,fontsize=12];
gazn [color=none,fontsize=12];
gazo [color=none,fontsize=12];
gazp [color=none,fontsize=12];
gazq [color=none,fontsize=12];
gazr [color=none,fontsize=12];
gazs [color=none,fontsize=12];
gazt [color=none,fontsize=12];
gazu [color=none,fontsize=12];
gazv [color=none,fontsize=12];
gazw [color=none,fontsize=12];
gazx [color=none,fontsize=12];
gazy [color=none,fontsize=12];
root -> a [minlen=2];
root -> b [minlen=2];
root -> c [minlen=2];
root -> d [minlen=2];
root -> e [minlen=2];
root -> f [minlen=2];
root -> g [minlen=2];
root -> h [minlen=2];
root -> i [minlen=2];
root -> j [minlen=2];
root -> k [minlen=2];
root -> l [minlen=2];
root -> m [minlen=2];
root -> n [minlen=2];
root -> o [minlen=2];
root -> p [minlen=2];
root -> q [minlen=2];
root -> r [minlen=2];
root -> s [minlen=20];
root -> t [minlen=2];
root -> u [minlen=2];
root -> v [minlen=2];
root -> w [minlen=2];
root -> x [minlen=2];
root -> y [minlen=2];
root -> 0 [minlen=2];
root -> 1 [minlen=2];
root -> 2 [minlen=2];
root -> 3 [minlen=2];
root -> 4 [minlen=2];
root -> 5 [minlen=2];
root -> 6 [minlen=2];
root -> 7 [minlen=2];
root -> 8 [minlen=2];
root -> 9 [minlen=2];
root -> "." [minlen=2];
g -> ga ;
g -> gb ;
g -> gc ;
g -> gd ;
g -> ge ;
g -> gf ;
g -> gg ;
g -> gh ;
g -> gi ;
g -> gj ;
g -> gk ;
g -> gl ;
g -> gm ;
g -> gn ;
g -> go ;
g -> gp ;
g -> gq ;
g -> gr ;
g -> gs ;
g -> gt ;
g -> gu ;
g -> gv ;
g -> gw ;
g -> gx ;
g -> gy ;
ga -> gaa ;
ga -> gab ;
ga -> gac ;
ga -> gad ;
ga -> gae ;
ga -> gaf ;
ga -> gag ;
ga -> gah ;
ga -> gai ;
ga -> gaj ;
ga -> gak ;
ga -> gal ;
ga -> gam ;
ga -> gan ;
ga -> gao ;
ga -> gap ;
ga -> gaq ;
ga -> gaz ;
ga -> gas ;
ga -> gat ;
ga -> gau ;
ga -> gav ;
ga -> gaw ;
ga -> gax ;
ga -> gay ;
gaz -> gaza ;
gaz -> gazb ;
gaz -> gazc ;
gaz -> gazd ;
gaz -> gaze ;
gaz -> gazf ;
gaz -> gazg ;
gaz -> gazh ;
gaz -> gazi ;
gaz -> gazj ;
gaz -> gazk ;
gaz -> gazl ;
gaz -> gazm ;
gaz -> gazn ;
gaz -> gazo ;
gaz -> gazp ;
gaz -> gazq ;
gaz -> gazr ;
gaz -> gazs ;
gaz -> gazt ;
gaz -> gazu ;
gaz -> gazv ;
gaz -> gazw ;
gaz -> gazx ;
gaz -> gazy ;
gazo -> "Blue Tuesday" ;
"Blue Tuesday" [ fontsize=10];
//Layout engines: circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
}
Cette sortie est générée avec:
twopi -os1.png -Tpng s1.dot
Je poste ici parce que l'impression est assez terrible. Tous les nœuds accroché de "gaz" sont superposées; j'ai essayé d'en précisant nodesep
et il est tout simplement ignoré. Je voudrais voir les lignes de la racine à la seule lettre d'autres part, mais encore une fois, je ne peux pas le contrôler.
Ce qui semble être un bug dans twopi. La documentation dit qu'il doit bien suivre ces directives, mais il ne semble pas.
Mes questions:
- Est-il possible de faire twopi se comporter?
- À défaut, est-il un meilleur moteur de mise en forme à utiliser?
Grâce.
source d'informationauteur vy32
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé twopi être le plus difficile de travailler avec tout le graphviz mise en page des moteurs.
J'ai fait quelques petits changements à votre point d'origine du fichier. Le rendu graphique est illustré ci-dessous.
Voici les différences:
graphique attributs:
size="7.75,10.25"; //s'assure que
le graphique entier tient sur une seule 8,5 x
11 page;
orientation="paysage";
ranksep=3.0; nodesep=2.0;
supprimé: "root=racine"; et
"chevauchement=true"
bord attributs:
pour tous les bords: [poids=0.1]
La réduction de l'arête de poids de 90% de tous bords a l'effet net de l'augmentation de la longueur de l'arête (ou plus précisément relaxant la contrainte sur la longueur des arêtes); de toute évidence, cela permet aux nœuds de "fan de". Ce faisant également augmente la distance entre "g" et "racine", en donnant à l'enfant les nœuds de la "racine" de plus de place.
J'ai aussi modifié quelques purement esthétique attributs--n'avoir aucun effet sur la mise en page, mais qui me semblent importe quand vous avez besoin de tirer même une densité moyenne de graphique sur une seule page:
graphique attributs:
fontname="Helvetica";
fontsize=13
nœud attributs:
"root" [color="goldenrod4", shape="diamond", style="rempli"]
"g" [color="lightsteelblue2", shape="diamond", style="rempli"]
"ga" [color="darkorange", shape="diamond", style="rempli"]
"gaz" [color="bisque4", shape="diamond", style="rempli"]
bord attributs:
[arrowsize=0.4, penwidth=1.2]