2014-11-23 23 views
6

Bu nokta grafiğini aldım ve A ve D, B ve E ve C ve F düğümlerinin hizalanmasını istiyorum. İşte ilişkili nokta kodu:Graphviz Noktaların dikey hizalanması

digraph{ 

A 
B 
C 
D 
E 
F 

{rank = same; B; C} 
{rank = same; E; F} 

A -> B [label="2", weight=2] 
A -> C [label="0", style=dashed, weight=2] 
B -> C [label="0", style=dashed, weight=2] 
B -> D [label="2", style=dashed, weight=2] 
C -> D [label="0", weight=2] 
D -> E [label="1", style=dashed, weight=2] 
D -> F [label="0", weight=2] 
E -> F [label="0", weight=2] 
F -> A 
} 

sen zaten kenarlara ağırlıkları uygulamak çalıştı görebileceğiniz gibi, ama bu Kullanımı mümkündür

enter image description here

cevap

16

iş vermedi Aynı grubun düğümleri arasındaki kenarların düz bir çizgide hizalanmasını önermek için düğümlerin group özniteliği.

edge[style=invis]; 
A -> D 
B -> E 
C -> F 

Her birlikte:

digraph G { 
    A [group=g1] 
    {rank = same; B[group=g2]; C[group=g3]} 
    D [group=g1] 
    {rank = same; E[group=g2]; F[group=g3]} 

    A -> B [label="2", weight=2] 
    A -> C [label="0", style=dashed, weight=2] 
    B -> C [label="0", style=dashed, weight=2] 
    B -> D [label="2", style=dashed, weight=2] 
    C -> D [label="0", weight=2] 
    D -> E [label="1", style=dashed, weight=2] 
    D -> F [label="0", weight=2] 
    E -> F [label="0", weight=2] 
    F -> A 

    edge[style=invis]; 
    A -> D 
    B -> E 
    C -> F 
} 

A [group=g1] 
{rank = same; B[group=g2]; C[group=g3]} 
D [group=g1] 
{rank = same; E[group=g2]; F[group=g3]} 

Daha sonra bu düğümlerin her ikisi arasında bir (görünmez) kenar emin olun:

grubu öznitelik düğümleri bildirmek