2012-09-17 8 views
11

के साथ नोड्स की व्यवस्था कैसे करें मैं सर्कल टोपोलॉजी के साथ ग्राफ खींचने की कोशिश कर रहा हूं। enter image description hereग्राफवीज़: सर्को लेआउट

कैसे: ऊपर ग्राफ के लिए एक आउटपुट छवि है यहाँ

digraph g1 { 
    layout="circo"; 
    node [shape = doublecircle]; N4 N6; 
    node [shape = circle]; 
    N0 -> N1 [ label = "{1,0}"]; 
    N1 -> N2 [ label = "{1,0}"]; 
    N2 -> N3 [ label = "{1,0}"]; 
    N3 -> N4 [ label = "{1,0}"]; 
    N4 -> N5 [ label = "{1,0}"]; 
    N5 -> N6 [ label = "{1,0}"]; 
    N6 -> N0 [ label = "{1,0}"]; 

    N0 -> N4 [ label = "{1,0}"]; 
    N1 -> N5 [ label = "{1,0}"]; 
    N2 -> N6 [ label = "{1,0}"]; 
    N3 -> N0 [ label = "{1,0}"]; 
    N4 -> N1 [ label = "{1,0}"]; 
    N5 -> N2 [ label = "{1,0}"]; 
    N6 -> N3 [ label = "{1,0}"];  
} 

और: enter image description here

यहाँ मेरी जीवी फ़ाइल है:

यहाँ है कि मैं क्या देखने की उम्मीद कर रहा हूँ है क्या मैं ग्राफिक्स में नोड्स को 1 जैसा दिखने के लिए व्यवस्थित कर सकता हूं?

उत्तर

10

यदि लक्ष्य ऐसा ग्राफ है जो नोड्स के क्रम का सम्मान करता है, तो यह इतना आसान नहीं है। आप calculate the position of the nodes with an external script and render it with neato कर सकते हैं।

साथ
digraph g1 { 
    node [shape = doublecircle]; N4 N6; 
    node [shape = circle]; 
    edge[label="{1,0}"]; 
    N0 -> N1 -> N2 -> N3 -> N4 -> N5 -> N6 -> N0; 
} 

:

या आप पहले किनारों जो केवल नोड्स के सही क्रम का निर्धारण के साथ नोड्स लेआउट सकता

circo graph.gv > tempgraph.gv 

फिर tempgraph.gv करने के लिए शेष किनारों को जोड़ने - बस कॉपी बंद होने से पहले निम्नलिखित पेस्ट करें }:

N0 -> N4 [ label = "{1,0}"]; 
N1 -> N5 [ label = "{1,0}"]; 
N2 -> N6 [ label = "{1,0}"]; 
N3 -> N0 [ label = "{1,0}"]; 
N4 -> N1 [ label = "{1,0}"]; 
N5 -> N2 [ label = "{1,0}"]; 
N6 -> N3 [ label = "{1,0}"]; 

और neato और -n विकल्प के साथ यह प्रस्तुत करना:

neato -n tempgraph.gv -Tpng -O 

आप को फ़ाइन-ट्यून करने के लिए लेबल की स्थिति कर सकते हैं:

circo layout

+0

धन्यवाद एक बहुत! यह वही है जो मैंने हासिल करने की कोशिश की है। – Filipp

+0

धन्यवाद 'सर्को' कमांड जो मैं चाहता था, लेकिन मैं केवल 'डॉट' और' नीटो 'की कोशिश कर रहा था, मुझे लगता है कि मुझे गोलाकार लेआउट क्यों नहीं मिला! –

संबंधित मुद्दे