2009-10-02 26 views
24

मैं डॉट का उपयोग कर सही से जा रहा किनारों छोड़ दिया करने के लिए प्रदर्शित करने के लिए कोशिश कर रहा हूँ (यानी पीछे की ओर):(Graphviz) डॉट में छोड़ दिया किनारों का अधिकार

C <- A -> B 

सबसे अच्छा मैं कर सकता था:

digraph { 
    a -> b; 
    c -> a [dir="back"]; 
    {rank=same;c a b} 
} 

.. जो ठीक है, सिवाय इसके कि मुझे c -> a का उपयोग करना पसंद नहीं है जब किनारे को दूसरी तरफ निर्देशित किया जाता है।

तो मैं इस समाधान को साझा करना चाहता था (जिसे एसओ पर उल्लेख नहीं किया गया था) और जांचें कि क्या मुझे कुछ स्पष्ट याद आ रही है।

देखें: http://www.graphviz.org/doc/info/attrs.html#k:dirType

+0

यह समस्या का समाधान नहीं होता है कि नोड्स के पद एसी एज के लिए अभी भी ग्राफ के सापेक्ष उलट नहीं किया जाता है, जब तक कि आप इसे 'c -> a' लिखते हैं। काश है कि कोई सिर्फ 'a <- c' लिख सकता है। : / – Evi1M4chine

उत्तर

32

मैं dir के आपके उपयोग करने के लिए कोई विकल्प नहीं है, लेकिन मैं इसे थोड़ा कम अगर आप क्षैतिज संरेखण चाहते कर सकते हैं, ग्राफ के rankdir संपत्ति का उपयोग करें, बाएं से दाएं दिशा मजबूर करने के लिए।

digraph { 
    rankdir=LR; 
    a->b; 
    c->a [dir="back"]; 
} 
4

किनारों डिफ़ॉल्ट रूप से पीछे की ओर इंगित करने के लिए: फिर

digraph { 
    edge [dir="back"]; 
    a -> b; 
    c -> a; 
} 

, आगे बात करने के लिए डिफ़ॉल्ट ओवरराइड:

c -> d [dir="forward"];