2017-04-08 4 views
1

ich eine Kurve in Richtung LR habenGraphViz - Wie wird ein Untergraph von oben nach unten angezeigt, wenn der Hauptgraph von links nach rechts verläuft?

digraph { 
    rankdir=LR; 
    node [shape=box] 
    x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8; 
    node [shape=oval] 
    ind60;dem60;dem65; 
    {x1,x2,x3} -> ind60 
    dem65->{y5,y6,y7,y8} 

    subgraph cluster_0{ 
    rankdir=TB 

    {y1,y2,y3,y4} -> dem60[constraint=false] 

    } 
    ind60->dem60 ind60->dem65 dem60->dem65 
} 

Das Ergebnis ist wie folgt: image1

ich die Subgraphen in TB Richtung wollen. Wie kann ich das erreichen?

subgraph

+0

im sicher im Wesen dicht hier aber Ihr Subgraphen Blick von oben nach unten zu mir – user20650

+0

TB = Von oben nach unten hat Ihr Cluster_0-Untergraph y1 an der Spitze und y4 ist an der Unterseite. Das ist von oben nach unten. Was genau willst du? –

+0

Ich möchte den Untergraphen wie das Bild 'Untergraphen' aussehen. Vielen Dank –

Antwort

1

Laut Dokumentation rankdir funktioniert nur für Diagramme nicht für Subgraphen.

Sie können dies umgehen, indem Sie einige Gerüste in Form von unsichtbaren Kanten Hinzufügen und Knoten wie diese

digraph { 
    rankdir=LR; 
    node [shape=box] 
    x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8; 
    node [shape=oval] 
    ind60;dem60;dem65; 
    {x1,x2,x3} -> ind60 
    dem65->{y5,y6,y7,y8} 

    subgraph cluster_0{ 

     y2a[shape=point color=none] 
     y1->y2->y2a->y3->y4[color=none weight=1000] 
     {y1 y2}->dem60 
     {rank=same y2a->dem60[color=none]} 
     {y3 y4}->dem60 

    } 
    {rank=same ya[shape=point color=none] x1 x2 x3} 
    {rank=same yb[shape=point color=none] y5 y6 y7 y8} 
    ya->y1[color=none] y4->yb[color=none] 
    ind60->dem60 ind60->dem65 dem60->dem65 
} 

enter image description here

Verwandte Themen