2008-11-03 10 views
9

Lorsque j'ai changé le rangdir de mon graphique de LR à TD, mes nœuds d'enregistrement ont également changé leur direction de mise en page afin qu'ils ne ressemblent plus à un «enregistrement». J'ai essayé d'appliquer un rankdir séparé aux nœuds, mais cela n'a eu aucun effet.nœuds d'enregistrement et rankdir dans graphviz

Comment conserver les nœuds d'enregistrement avec la disposition correcte?

digraph sample { 
    graph [rankdir=TD]; 
    node [shape=record]; 

    A [label="ShouldBeTop | ShouldBeBottom"]; 
    B [label="Top | Bottom"]; 
    A -> B; 
} 

Répondre

9

En tenant compte du fait que rankdir remplace efficacement la notion de « haut » et « bas » pour le graphique donné, ce n'est pas surprenant.

Je crains qu'il n'y ait pas de remède facile pour cela, sauf le piratage de la source (et ce ne serait pas facile du tout). Vous pouvez entourer vos étiquettes dans « {} » avec une sorte de solution de masse recherche-remplacement pour obtenir l'effet demandé:

digraph sample { graph [rankdir=TD]; node [shape=record]; 

A [label="{ShouldBeTop | ShouldBeBottom}"]; 
B [label="{Top | Bottom}"]; A -> B; 
} 
5

Vous pouvez utiliser la table html comme des étiquettes au lieu d'enregistrements. IIRC Les étiquettes basées sur la table ne pivotent pas dans le sens du rang. Voir http://www.graphviz.org/doc/info/shapes.html#html

+0

+1 pour les étiquettes de type HTML. A partir du même lien: _La forme basée sur l'enregistrement a été largement remplacée et largement généralisée par des étiquettes de type HTML. – marapet

Questions connexes