ग्राफविज़, किनारे का आकार बदलना


92

डॉट (ग्राफविज़) में किनारे का आकार कैसे बदलें? मैं कुछ किनारों को "बोल्ड" करना चाहूंगा।

जवाबों:


134

मैं शुवालोव के जवाब को पूरक करना चाहता था। पेनड्राइव वास्तव में सही कमांड है। साथ ही, Shuvalov के जवाब में penwidth है दोनों सही भी - एक नोड और एक बढ़त संपत्ति।

मैं जो भेद बनाना चाहता था:

  • नोड प्रॉपर्टी के रूप में उपयोग किए जाने पर पेनड्राइव (उदाहरण के लिए, "NodeA" [पेनॉफ़िक्स = 5]) उस नोड के लिए बॉर्डर लाइन के वजन को प्रभावित करता है

  • पेनड्राइव , जब एक एज प्रॉपर्टी के रूप में उपयोग की जाती है , तो एज की लाइन वेट को प्रभावित करती है (डिफ़ॉल्ट वैल्यू "1" है, पेनेट्रेशन को निर्दिष्ट करना = 2 किनारे को बोल्ड प्रकार में प्रदर्शित करेगा।

  • यदि आप किसी किनारे के लाइन वेट को बदलना चाहते हैं, तो आपको उस किनारे से जुड़े दो नोड्स के लिए पेनड्राइव बदलने की आवश्यकता नहीं है (जैसा कि शुलेवव का जवाब सुझा सकता है)

  • एक निर्देशित ग्राफ के लिए (किनारों की एक दिशा है) आप किनारे के वजन के साथ-साथ एरोहेड और एरोटेल के आकार / वजन को बदलना चाह सकते हैं , ताकि तीनों आनुपातिक रहें

  • एक किनारे की लंबाई को भार संपत्ति सेट करके बदला जा सकता है , कहीं और, डिफ़ॉल्ट मान 1.0 है; उस मूल्य को बढ़ाने से प्रतिपादन के दौरान इस किनारे को खींचने की लागत बढ़ जाती है (यानी, ड्राइंग एल्गोरिथ्म उन समाधानों के लिए एक उच्च जुर्माना लागू करता है जिसमें यह बढ़त लंबी है); ध्यान दें कि 1 से 4 तक की धार 1 से 2 के किनारे से कम है।

निम्नलिखित कोड को इन सभी का वर्णन करना चाहिए। प्रस्तुत ग्राफ़ कोड के नीचे दिखाया गया है।

digraph {
    /* declare the node & style them */
    "Node 1" [shape=diamond, penwidth=3, style=filled, fillcolor="#FCD975"];
    "Node 2" [style=filled,fillcolor="#9ACEEB" ];
    "Node 3" [shape=diamond, style=filled, fillcolor="#FCD975" ];
    "Node 4" [style=filled, fillcolor="#9ACEEB" ]

    /* declare the edges & style them */
    "Node 1" -> "Node 2" [dir=none, weight=1, penwidth=3] ;
    "Node 1" -> "Node 3" [dir=none, color="#9ACEEB"] ;
    "Node 1" -> "Node 4" [arrowsize=.5, weight=2.]
}

यहाँ छवि विवरण दर्ज करें


किसी कारण से weightसंपत्ति मेरे लिए कुछ भी नहीं बदल रही है। बाकी सुपर सहायक है, हालांकि ... धन्यवाद!
क्लोजच

यह बहुत मददगार था, विशेष रूप से छवि के साथ - मुझे यहां रिश्ते को समझने में मदद मिली। ग्रेविज़ सिंटैक्स थोड़ा अजीब है, इसलिए ऐसी अच्छी छवियां वास्तव में बहुत मदद करती हैं। एकमात्र हिस्सा, अगर मैं उपरोक्त में बदलाव करूंगा, तो पेनफोकेशन के संबंध में स्पष्टीकरण में थोड़ा और जोड़ना होगा, क्योंकि अभी लाइनें सभी बोल्ड हैं (मैंने इसे बदल दिया है, उपरोक्त के लिए धन्यवाद), लेकिन सीमा के आसपास व्यक्तिगत नोड्स अधिक मोटे नहीं हैं, जो मैं शुरू में करना चाहता था। मुझे अंततः इस समस्या को हल करने के लिए मिल सकता है, लेकिन इस घटना में कि मैं यहां समाधान प्रकाशित करना भूल जाता हूं, मैं इसके बजाय इसे जोड़ता हूं। :)
शेव

20

इसे इस्तेमाल करे:

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.