2014-11-24 151 views
5

我想繪製一個3級的節點的圖形,級別之間的距離相等。 但是,graphviz以某種方式決定中間層和底層層之間的距離應該遠大於頂層和中層之間的距離。有任何解決這個問題的方法嗎?如何管理graphviz中節點之間的距離?

這裏是我的代碼:

digraph g{ 
    rankdir="LR"; 
    graph [pad="0.5", ranksep="0.525", nodesep="3"]; 
    splines=false; 
    node[shape = square]; 
    edge[style=invis]; 
    subgraph cluster_3 { 
     color=invis; 
     a1->a2->a3->a4->a5->a6->a7; 
    } 
    subgraph cluster_2 { 
     color=invis; 
     a->b->c->d->e->f->g; 
    } 
    subgraph cluster_1 { 
     color=invis; 
     1->2->3->4->5->6->7; 
    } 
    "a1" [label="1'"]; 
    "a2" [label="2'"]; 
    "a3" [label="3'"]; 
    "a4" [label="4'"]; 
    "a5" [label="5'"]; 
    "a6" [label="6'"]; 
    "a7" [label="7'"]; 
    edge[style=solid, constraint=false]; 
    a->1[arrowhead=none, arrowtail=none]; 
    a->2[arrowhead=none, arrowtail=none]; 
    a->3[arrowhead=none, arrowtail=none]; 
    a->a1[arrowhead=none, arrowtail=none]; 
    a->a2[arrowhead=none, arrowtail=none]; 
    a->a3[arrowhead=none, arrowtail=none]; 
    b->1[arrowhead=none, arrowtail=none]; 
    b->3[arrowhead=none, arrowtail=none]; 
    b->7[arrowhead=none, arrowtail=none]; 
    b->a1[arrowhead=none, arrowtail=none]; 
    b->a3[arrowhead=none, arrowtail=none]; 
    b->a7[arrowhead=none, arrowtail=none]; 
    c->2[arrowhead=none, arrowtail=none]; 
    c->6[arrowhead=none, arrowtail=none]; 
    c->7[arrowhead=none, arrowtail=none]; 
    c->a2[arrowhead=none, arrowtail=none]; 
    c->a6[arrowhead=none, arrowtail=none]; 
    c->a7[arrowhead=none, arrowtail=none]; 
    d->1[arrowhead=none, arrowtail=none]; 
    d->4[arrowhead=none, arrowtail=none]; 
    d->7[arrowhead=none, arrowtail=none]; 
    d->a1[arrowhead=none, arrowtail=none]; 
    d->a4[arrowhead=none, arrowtail=none]; 
    d->a7[arrowhead=none, arrowtail=none]; 
    e->1[arrowhead=none, arrowtail=none]; 
    e->2[arrowhead=none, arrowtail=none]; 
    e->3[arrowhead=none, arrowtail=none]; 
    e->a1[arrowhead=none, arrowtail=none]; 
    e->a2[arrowhead=none, arrowtail=none]; 
    e->a3[arrowhead=none, arrowtail=none]; 
    f->1[arrowhead=none, arrowtail=none]; 
    f->4[arrowhead=none, arrowtail=none]; 
    f->7[arrowhead=none, arrowtail=none]; 
    f->a1[arrowhead=none, arrowtail=none]; 
    f->a4[arrowhead=none, arrowtail=none]; 
    f->a7[arrowhead=none, arrowtail=none]; 
    g->5[arrowhead=none, arrowtail=none]; 
    g->6[arrowhead=none, arrowtail=none]; 
    g->7[arrowhead=none, arrowtail=none]; 
    g->a5[arrowhead=none, arrowtail=none]; 
    g->a6[arrowhead=none, arrowtail=none]; 
    g->a7[arrowhead=none, arrowtail=none]; 
} 

輸出看起來像這樣目前:enter image description here

回答

4

張望了一下剛出場,並與下面的圖上來,這是任何接近很想很想?

digraph g{ 
    graph [pad="0.5", nodesep="1", ranksep="2"]; 
    splines="false"; 
    node[shape = square]; 
    edge[style=invis]; 
    a1->a->1 
    a2->b->2 
    a3->c->3 
    a4->d->4 
    a5->e->5 
    a6->f->6 
    a7->g->7 

    "a1" [label="1'"]; 
    "a2" [label="2'"]; 
    "a3" [label="3'"]; 
    "a4" [label="4'"]; 
    "a5" [label="5'"]; 
    "a6" [label="6'"]; 
    "a7" [label="7'"]; 
    edge[style=solid, constraint=false]; 
    a->1[arrowhead=none, arrowtail=none]; 
    a->2[arrowhead=none, arrowtail=none]; 
    a->3[arrowhead=none, arrowtail=none]; 
    a->a1[arrowhead=none, arrowtail=none]; 
    a->a2[arrowhead=none, arrowtail=none]; 
    a->a3[arrowhead=none, arrowtail=none]; 
    b->1[arrowhead=none, arrowtail=none]; 
    b->3[arrowhead=none, arrowtail=none]; 
    b->7[arrowhead=none, arrowtail=none]; 
    b->a1[arrowhead=none, arrowtail=none]; 
    b->a3[arrowhead=none, arrowtail=none]; 
    b->a7[arrowhead=none, arrowtail=none]; 
    c->2[arrowhead=none, arrowtail=none]; 
    c->6[arrowhead=none, arrowtail=none]; 
    c->7[arrowhead=none, arrowtail=none]; 
    c->a2[arrowhead=none, arrowtail=none]; 
    c->a6[arrowhead=none, arrowtail=none]; 
    c->a7[arrowhead=none, arrowtail=none]; 
    d->1[arrowhead=none, arrowtail=none]; 
    d->4[arrowhead=none, arrowtail=none]; 
    d->7[arrowhead=none, arrowtail=none]; 
    d->a1[arrowhead=none, arrowtail=none]; 
    d->a4[arrowhead=none, arrowtail=none]; 
    d->a7[arrowhead=none, arrowtail=none]; 
    e->1[arrowhead=none, arrowtail=none]; 
    e->2[arrowhead=none, arrowtail=none]; 
    e->3[arrowhead=none, arrowtail=none]; 
    e->a1[arrowhead=none, arrowtail=none]; 
    e->a2[arrowhead=none, arrowtail=none]; 
    e->a3[arrowhead=none, arrowtail=none]; 
    f->1[arrowhead=none, arrowtail=none]; 
    f->4[arrowhead=none, arrowtail=none]; 
    f->7[arrowhead=none, arrowtail=none]; 
    f->a1[arrowhead=none, arrowtail=none]; 
    f->a4[arrowhead=none, arrowtail=none]; 
    f->a7[arrowhead=none, arrowtail=none]; 
    g->5[arrowhead=none, arrowtail=none]; 
    g->6[arrowhead=none, arrowtail=none]; 
    g->7[arrowhead=none, arrowtail=none]; 
    g->a5[arrowhead=none, arrowtail=none]; 
    g->a6[arrowhead=none, arrowtail=none]; 
    g->a7[arrowhead=none, arrowtail=none]; 
} 

enter image description here

相關問題