2016-10-26 11 views
6

में स्थान subgraphs बनाने का प्रयास कर मैं इस Graphviz का उपयोग कर की तरह कुछ बनाने के लिए कोशिश की है:Graphviz

x y z 
    | | | 
    # | | 
    a#__\| | 
    # /#b | 
    # #__\| 
    # # /#c 
    # d#/__# 
    # #\ x 
    # # | 
    e#/__# | 
    #\ # | 

लेकिन रैंकिंग काम करने के रूप में मैं उम्मीद नहीं लगती। मैं e अन्य सभी नोड्स के नीचे होना चाहता हूं।

digraph x 
{ 
    rankdir = tb; 
    size = "7.5, 7.5"; 
    rank = source; 
    a -> b -> c -> d -> e; 
    subgraph "cluster x" 
    { 
    style=filled; 
    color=lightgrey; 
    label="x"; 
    a -> e [style=invis]; 
    } 
    subgraph "cluster y" 
    { 
    label="y"; 
    b -> d [style=invis]; 
    } 
    subgraph "cluster z" 
    { 
    label="z"; 
    c; 
    } 
} 

First attempt

मैं clusterrank = global जो काम करता है की तरह उपयोग करने के लिए कोशिश की है, लेकिन फिर subgraphs एक और अधिक स्पष्ट स्तंभ में विभाजित नहीं कर रहे हैं और स्तंभों पर ओवरलैप नहीं है। यह ठीक वैसे भी नहीं जा रहा है जैसा मैं चाहता हूं। निम्न छवि लाल रंग में ओवरलैप में से एक पर प्रकाश डाला गया, लेकिन जैसा कि आप देख सकते हैं वहाँ 4.

2nd attempt

digraph x 
{ 
    rankdir = tb; 
    rankstep=equally; 
    clusterrank = global; 
    size = "7.5, 7.5"; 
    a -> b -> c -> d -> e; 
    subgraph "cluster x" 
    { 
    style=filled; 
    color=lightgrey; 
    label="x"; 
    a -> e [style=invis]; 
    } 
    subgraph "cluster y" 
    { 
    label="y"; 
    b -> d [style=invis]; 
    } 
    subgraph "cluster z" 
    { 
    label="z"; 
    c; 
    } 
} 

मैं एक अलग क्लस्टर है कि एक गारंटी शीर्ष करने के लिए जा रहा है बनाने के लिए कर रहे हैं की कोशिश की है नीचे रैंकिंग और उसके बाद उपयुक्त समूहों को एक साथ रैंक करें, लेकिन यह पिछले प्रयास के समान ही है, पहले प्रयास को देखते हुए बॉक्स को हटाकर और अवांछित ओवरलैपिंग का कारण बनता है।

digraph x 
{ 
    rankdir = tb; 
    1 -> 2 -> 3 -> 4 -> 5; 
    a -> b -> c -> d -> e; 
    { rank=same; 1; a; } 
    { rank=same; 2; b; } 
    { rank=same; 3; c; } 
    { rank=same; 4; d; } 
    { rank=same; 5; e; } 

    subgraph "cluster x" 
    { 
    style=filled; 
    color=lightgrey; 
    label="x"; 
    a -> e [style=invis]; 
    } 
    subgraph "cluster y" 
    { 
    label="y"; 
    b -> d [style=invis]; 
    } 
    subgraph "cluster z" 
    { 
    label="z"; 
    c; 
    } 
} 

3rd attempt

किसी रूप में कोशिश करते हैं और लेआउट मैं चाहता हूँ प्राप्त करने के लिए किसी भी विचार है?

एक साइड नोट के रूप में, मैंने इस मामले के बारे में ग्राफविज़ मंच में लॉगिन करने का प्रयास किया, लेकिन पाया कि this page से लॉग इन करना प्रतीत नहीं होता है। मुझे एक लंबी टाइमआउट समस्या मिल रही है। मैं अपना ईमेल खाता देखता हूं और कुछ भी नहीं है। मैं एक ही ईमेल के साथ एक नया खाता बनाने का प्रयास करता हूं और यह कहता है कि खाता पहले ही उपयोग में है। मैं फिर कोशिश करता हूं और उन्हें अपना पासवर्ड रीसेट करने के लिए मिलता हूं और मुझे एक और टाइमआउट समस्या मिलती है।

क्या कोई जानता है कि मैं उस परेशान लॉगिन समस्या को आजमाने और ठीक करने के लिए किससे संपर्क कर सकता हूं? शायद कोई भी जो पहले से लॉग इन है, वह मेरे लिए पोस्ट कर सकता है?

उत्तर

0

-नॉट्रैंक के साथ रन डॉट। वह आपको प्राप्त करेगा जो आप अपने स्केच के आधार पर चाहते हैं। यदि अधिक बदलाव की आवश्यकता है, तो कृपया निर्दिष्ट करें कि आप क्या कर रहे हैं।

0

आपका अंतिम समाधान "बॉक्स से निकालना" समूहों के तीर

समायोजित करने के लिए अलग-अलग नोड के रूप में लेबल को परिभाषित करें splines=... साथ

प्ले से बचने के लिए जैसे ही आप एक छोटी सी ट्यूनिंग

उपयोग newrank=true कर के रूप में काम करेंगे।

digraph x 
{ 
    rankdir = tb; 
    newrank=true; 
    splines=ortho; 

    0 -> 1 -> 2 -> 3 -> 4 -> 5; 
    X; Y; Z; 
    a -> b -> c -> d -> e; 
    { rank=same; 0 X Y Z} 
    { rank=same; 1; a; } 
    { rank=same; 2; b; } 
    { rank=same; 3; c; } 
    { rank=same; 4; d; } 
    { rank=same; 5; e; } 

    subgraph "cluster x" 
    { 
    style=filled; 
    color=lightgrey; 
    a -> e [style=invis]; 
    } 
    subgraph "cluster y" 
    { 
    b -> d [style=invis]; 
    } 
    subgraph "cluster z" 
    { 
    c; 
    } 
} 

enter image description here

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