डीओटी (ग्राफ़ विवरण भाषा): Difference between revisions

From Vigyanwiki
No edit summary
 
(One intermediate revision by one other user not shown)
Line 170: Line 170:
* [https://www.boost.org/libs/graph/doc/index.html Boost Graph Library]
* [https://www.boost.org/libs/graph/doc/index.html Boost Graph Library]


{{Graph representations}}[[Category: गणितीय सॉफ्टवेयर]] [[Category: ग्राफ़ विवरण भाषाएँ]] [[Category: ग्राफ़ आरेखण]]
{{Graph representations}}


 
[[Category:All articles with style issues]]
 
[[Category:Collapse templates]]
[[Category: Machine Translated Page]]
[[Category:Commons category link is locally defined]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Vigyan Ready]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia articles with style issues from April 2023]]
[[Category:Wikipedia metatemplates]]
[[Category:गणितीय सॉफ्टवेयर]]
[[Category:ग्राफ़ आरेखण]]
[[Category:ग्राफ़ विवरण भाषाएँ]]

Latest revision as of 11:04, 27 July 2023

DOT
Filename extensions.gv
Type of formatGraph description language
Open format?Yes

डीओटी एक ग्राफ विवरण भाषा होती है। डीओटी ग्राफ समान्यतः जीवी या डॉट कम्प्यूटर फाइल होती है। 2007 से पहले माइक्रोसॉफ्ट वर्ड के संस्करणों द्वारा उपयोग किए जाने वाले डॉट प्रसार और जीवी प्रसार को प्राथमिकता दी जाती थी।[1]

विभिन्न प्रोग्राम डीओटी फाइलों को संसाधित कर सकते है। जैसे डॉट, नीटो, ट्वोपी, सर्को, एफडीपी और एसएफडीपी, एक डीओटी फाइल को पढ़ सकते है और इसे ग्राफिक रूप में प्रस्तुत कर सकते है। अन्य, जैसे कि gvpr, gc, acyclic, ccomps, sccmap, और tred, डीओटी फाइले पढ़ते है और प्रस्तुत ग्राफ पर गणना कर सकते है। अंत में, अन्य, जैसे लेफ्टी, डॉटी और ग्रेप्पा, एक परस्पर अंतरफलक प्रदान करते है। जीवेडित उपकरण एक टेक्स्ट संपादक को परस्पर प्रतिबिंब दर्शक के साथ जोड़ता है। अधिकांश प्रोग्राम ग्रप्ह्वइज़ पैकेज का हिस्सा होते है या आंतरिक रूप से इसका उपयोग करते है।

वाक्य - विन्यास

ग्राफ प्रकार

अप्रत्यक्ष ग्राफ

एक अप्रत्यक्ष ग्राफ

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

// The graph name and the semicolons are optional
graph graphname {
    a -- b -- c;
    b -- d;
}

निर्देशित ग्राफ

एक निर्देशित ग्राफ

अप्रत्यक्ष ग्राफ के समान, डीओटी ग्राफ निर्देशित ग्राफ का वर्णन कर सकता है, जैसे प्रवाह संचित्र और निर्भरता ट्री (ग्राफ सिद्धांत)। वाक्य - विन्यास अप्रत्यक्ष ग्राफ के समान होता है, इसके अतिरिक्त ग्राफ प्रारंभ करने के लिए ग्राफ कीवर्ड का उपयोग किया जाता है, और नोड्स के बीच संबंध दिखाने के लिए (->) का उपयोग किया जाता है।

digraph graphname {
    a -> b -> c;
    b -> d;
}

गुण

विशेषताओं वाला एक ग्राफ

डीओटी फाइलों में ग्राफ, नोड्स और किनारों पर विभिन्न विशेषताओं को प्रारंभ किया जा सकता है। [2] ये विशेषताएँ रंग, आकार और रेखा शैलियों जैसे पहलुओं को नियंत्रित कर सकती है। नोड्स और किनारों के लिए, एक या अधिक विशेषता-मूल्य और अर्धविराम वर्गाकार कोष्ठक ([]) में रखा जाता है। ग्राफ विशेषताओं को ग्राफ तत्व के अंतर्गत प्रत्यक्ष विशेषता-मूल्य जोड़े के रूप में निर्दिष्ट किया जाता है, जहां कई विशेषताओं को अल्पविराम से अलग किया जाता है या वर्ग कोष्ठक के कई समूहों का उपयोग किया जाता है, जिसमें केवल नोड का नाम होता है, लेकिन बिंदुओं के बीच संबंध नहीं होता है

graph graphname {
    // This attribute applies to the graph itself
    size="1,1";
    // The label attribute can be used to change the label of a node
    a [label="Foo"];
    // Here, the node shape is changed.
    b [shape=box];
    // These edges both have different line properties
    a -- b -- c [color=blue];
    b -- d [style=dotted];
    // [style=invis] hides a node.
}

HTML जैसे अंकित केवल ग्राफ के उन संस्करणों पर उपलब्ध है जो नवंबर 2003 के मध्य से नए है, विशेष रूप से, उन्हें प्रस्तुत 1.10 का हिस्सा नहीं माना जाता है।[3]

टिप्पणियाँ

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

// This is a single line comment.
/* This is a
   multiple line
   comment. */
# Lines like this are also ignored.

एक सरल उदाहरण

टूल का उपयोग करके उदाहरण स्क्रिप्ट का प्रतिपादन (कंप्यूटर ग्राफिक्स)डीओटीty

निम्नलिखित एक उदाहरण स्क्रिप्ट है जो एटैन अणु की बंधन संरचना का वर्णन करती है। यह एक अप्रत्यक्ष ग्राफ है और इसमें नोड विशेषताएँ सम्मलित है जैसा कि ऊपर बताया गया है।

graph ethane {
    C_0 -- H_0 [type=s];
    C_0 -- H_1 [type=s];
    C_0 -- H_2 [type=s];
    C_0 -- C_1 [type=s];
    C_1 -- H_3 [type=s];
    C_1 -- H_4 [type=s];
    C_1 -- H_5 [type=s];
}

विन्यास प्रोग्राम

एक ऑनलाइन हफमैन ट्री जनरेटर द्वारा डीओटी विवरण से ग्राफविज़ में बाइनरी ट्री उत्पन्न किया गया

डीओटी भाषा एक ग्राफ को परिभाषित करती है, लेकिन ग्राफ को प्रस्तुत करने के लिए सुविधाएं प्रदान नहीं करती है। ऐसे कई प्रोग्राम है जिनका उपयोग डीओटी भाषा में ग्राफ को प्रस्तुत करने और देखने के लिए किया जा सकता है:

सामान्य

जावास्क्रिप्ट

  • कैनविज – डीओटी फाइलों को प्रस्तुत करने के लिए एक जावास्क्रिप्ट लाइब्रेरी होती है।[4]
  • डी3-ग्राफ – जेएस और डी3.जेएस पर आधारित एक जावास्क्रिप्ट लाइब्रेरी होती है जो डीओटी ग्राफ प्रस्तुत करती है और ग्राफ और परस्पर ग्राफ के बीच सजीव बदलाव का समर्थन करती है।[5]
  • फोर्स.जे.एस – एक जावास्क्रिप्ट लाइब्रेरी जो संजाल ग्राफ के लिए इनपुट के रूप में डीओटी को स्वीकार करती है।[6]
  • विज़.जेएस - ग्राफ का एक जावास्क्रिप्ट पोर्ट जो ब्राउजर में इसका उपयोग करने के लिए एक सरल आवरण प्रदान करता है।
  • hpcc-js/wasm ग्राफ – जेएस के समान ग्राफ के लिए एक तेज WASM लाइब्रेरी होती है।[7]

जावा

  • जेफी – सभी प्रकार के संजाल और जटिल प्रणालियों, गतिशील और श्रेणीबद्ध ग्राफ के लिए एक परस्पर प्रत्योक्षकरण और अन्वेषण मंच होता है।
  • ग्रेप्पा – ग्राफ से जावा का आंशिक पोर्ट (प्रोग्रामिंग भाषा) है।
  • ग्राफविज-जावा – ग्राफ से जावा (प्रोग्रामिंग भाषा) का एक खुला स्रोत आंशिक पोर्ट github.com पर उपलब्ध है।
  • जेडजीआर द्रश्य – एक डीओटी द्रश्य।[8]

अन्य

  • बेलुगिंग – एक पायथन (प्रोग्रामिंग भाषा) - और डीओटी और बेलुगा प्रसार का गूगल क्लाउड प्लेटफॉर्म-आधारित द्रश्य है।
  • डीओटी2टेक्स – फाइलों को डीओटी से PGF/TikZ में परिवर्तित करने का एक प्रोग्राम होता है, जो दोनों लैटेक्स में प्रस्तुत किए गए है।[9]
  • ओमनी ग्रफल – मैक ओएस के लिए एक डिजिटल चित्रण उपकरण जो डीओटी के उपसमूह को आयात कर सकता है, एक संपादन योग्य दस्तावेज तैयार कर सकता है (लेकिन परिणाम को डीओटी पर वापस निर्यात नहीं कर सकता है)।
  • ट्यूलिप (सॉफ्टवेयर) – सी++ में एक सॉफ्टवेयर होता है जो विश्लेषण के लिए डीओटी फाइले आयात कर सकता है।[10]
  • एफएक्स – यह एक स्क्रिप्ट अपाचे फ्लेक्स ग्राफ प्रतिपादन लाइब्रेरी होती है।[11]

सीमाएँ

डीओटी प्रारूप उपयोगकर्ता को स्थितीय विशेषताओं के माध्यम से विन्यास विवरण निर्दिष्ट करने की अनुमति देता है, अधिकांश उपकरण स्वचालित विन्यास कलन विधि पर भरोसा करता है। यह कलन विधि सर्वोत्तम कभी-कभी अवांछनीय परिणाम उत्पन्न करते है।

उदाहरण के लिए:

कोड
digraph g {
	node [shape=plaintext];
	A1 -> B1;
	A2 -> B2;
	A3 -> B3;
	
	A1 -> A2 [label=f];
	A2 -> A3 [label=g];
	B2 -> B3 [label="g'"];
	B1 -> B3 [label="(g o f)'" tailport=s headport=s];

	{ rank=same; A1 A2 A3 }
	{ rank=same; B1 B2 B3 } 
}
प्राकृतिक आउटपुट संपादित आउटपुट
एक छवि जो अनुचित विधि से प्रस्तुत की गई लगती है
लेबल और तीरों को थोड़ा हिलाने और सबस्क्रिप्ट का फॉन्ट आकार बदलने के बाद, छवि सही दिखती है।

'एक छवि जो अनुचित रूप से प्रस्तुत की गई प्रतीत होती है' वह शीर्षक छवि में प्रस्तुति संबंधी समस्याएं होती है। दाईं ओर का वर्ग पूर्ण वर्ग नहीं होता है।

इसे वेक्टर ग्राफ संपादक के साथ सही किया जा सकता है। कुछ स्थितियों में, किसी स्थिति को निर्दिष्ट करने के लिए पॉज विशेषता और ग्राफ को वर्गाकार करने के लिए वजन विशेषता का उपयोग करके इसे सही भी किया जा सकता है।

यह भी देखें

टिप्पणियाँ

  1. "File extension .dot or .gv?". marc.info. Retrieved 2011-03-08.
  2. "नोड, किनारा और ग्राफ़ विशेषताएँ". graphviz.org. Retrieved 2017-05-12.
  3. "Node Shapes: HTML-Like Labels". graphviz.org. Retrieved 2017-05-12.
  4. "canviz: graphviz on a canvas". Retrieved 2017-06-02.
  5. "GitHub - magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3". github.com. Retrieved 2018-06-06.
  6. "DOT भाषा में डेटा आयात करें". vis.js. Retrieved 2018-12-22.
  7. "hpcc-js/wasm". Retrieved 2020-10-21.
  8. "ZGRव्यूअर". zvtm.sourceforge.net. Retrieved 2017-05-12.
  9. "dot2tex – A Graphviz to LaTeX converter". dot2tex.readthedocs.io. 2019-11-01.
  10. "Data Visualization Software – Tulip". tulip.labri.fr. Retrieved 2017-05-12.
  11. "GitHub - gvhung/vizierfx: Automatically exported from code.google.com/p/vizierfx". github.com. Retrieved 2017-05-12.


बाहरी संबंध