กลับไปหน้าบทความ

อ่าน 4 นาที

ไม่มีชื่อบทความ

DOT เป็น ภาษาอธิบาย กราฟ ที่พัฒนาขึ้นเป็นส่วนหนึ่งของ โครงการ Graphviz กราฟ DOT มักจะถูกจัดเก็บเป็น ไฟล์ ที่มีนามสกุลไฟล์ .dot .gv หรือ .dot — .dot นามสกุล .dot .

DOT (ภาษาอธิบายกราฟ)

DOTเป็น ภาษาอธิบาย กราฟที่พัฒนาขึ้นเป็นส่วนหนึ่งของ โครงการ Graphvizกราฟ DOT มักจะถูกจัดเก็บเป็นไฟล์ที่มีนามสกุลไฟล์ .dot .gvหรือ .dot — .dotนามสกุล .dot.gvเป็นที่นิยมมากกว่า เพื่อหลีกเลี่ยงความสับสนกับ.dotนามสกุลไฟล์ที่ใช้โดยMicrosoft Word เวอร์ชัน ก่อนปี 2007 [ 1 ]dotยังเป็นชื่อของโปรแกรมหลักที่ใช้ประมวลผลไฟล์ DOT ในแพ็กเกจ Graphviz อีกด้วย

โปรแกรมต่างๆ สามารถประมวลผลไฟล์ DOT ได้ บางโปรแกรม เช่นdot , neato , twopi , circo , fdpและsfdpสามารถอ่านไฟล์ DOT และแสดงผลในรูปแบบกราฟิกได้ ส่วนโปรแกรมอื่นๆ เช่นgvpr , gc , acyclic , ccomps , sccmapและtred จะอ่าน ไฟล์ DOT และทำการคำนวณบนกราฟที่แสดง สุดท้ายนี้ โปรแกรมอื่นๆ เช่นlefty , dottyและgrappaจะมีอินเทอร์เฟซแบบโต้ตอบ เครื่องมือ GVedit รวมเอาโปรแกรมแก้ไขข้อความและโปรแกรมแสดงผลแบบไม่โต้ตอบเข้าไว้ด้วยกัน โปรแกรมส่วนใหญ่เป็นส่วนหนึ่งของแพ็กเกจ Graphviz หรือใช้งานภายในแพ็กเกจนี้

DOT เป็นคำย่อในเชิงประวัติศาสตร์ของ "DAG แห่งอนาคต" ซึ่งเป็นรูปแบบที่สืบทอดมาจากรูปแบบ DAG และ โปรแกรม DAGที่จัดการเฉพาะกราฟแบบไม่มีวงจรทิศทาง เท่านั้น [ 2 ]

ไวยากรณ์

ประเภทของกราฟ

กราฟแบบไม่มีทิศทาง

กราฟแบบไม่มีทิศทาง

โดยพื้นฐานแล้ว DOT สามารถใช้เพื่ออธิบายกราฟแบบไม่มีทิศทางกราฟแบบไม่มีทิศทางแสดงความสัมพันธ์ง่ายๆ ระหว่างวัตถุ เช่น มิตรภาพแบบต่างตอบแทนระหว่างบุคคลgraphคำหลักใช้เพื่อเริ่มต้นกราฟใหม่ และโหนดจะถูกอธิบายภายในวงเล็บปีกกา เครื่องหมายขีดคู่ ( --) ใช้เพื่อแสดงความสัมพันธ์ระหว่างโหนด

// ชื่อกราฟและเครื่องหมายเซมิโคลอนเป็นตัวเลือกเสริมกราฟชื่อกราฟ{a -- b -- c ;b -- d ;}

กราฟแบบมีทิศทาง

กราฟแบบมีทิศทาง

เช่นเดียวกับกราฟแบบไม่มีทิศทาง DOT สามารถใช้อธิบายกราฟแบบมีทิศทางได้เช่นผังงานและแผนผัง ความสัมพันธ์ ไวยากรณ์ จะเหมือนกับกราฟแบบไม่มีทิศทาง ยกเว้นdigraphใช้คำหลักเพื่อเริ่มต้นกราฟ และใช้ลูกศร (->) เพื่อแสดงความสัมพันธ์ระหว่างโหนด

กราฟไดกราฟชื่อ{ a -> b -> c ; b -> d ; }

คุณลักษณะ

กราฟที่มีคุณลักษณะ

สามารถใช้แอตทริบิวต์ต่างๆ กับกราฟ โหนด และขอบในไฟล์ DOT ได้[ 3 ]แอตทริบิวต์เหล่านี้สามารถควบคุมลักษณะต่างๆ เช่น สี รูปร่าง และรูปแบบเส้น สำหรับโหนดและขอบ จะมีการวาง คู่แอตทริบิวต์-ค่า อย่างน้อยหนึ่งคู่ ไว้ในวงเล็บเหลี่ยม[]หลังคำสั่งและก่อนเครื่องหมายเซมิโคลอน (ซึ่งเป็นตัวเลือก) แอตทริบิวต์ของกราฟจะถูกระบุเป็นคู่แอตทริบิวต์-ค่าโดยตรงภายใต้องค์ประกอบกราฟ โดยแอตทริบิวต์หลายรายการจะถูกคั่นด้วยเครื่องหมายจุลภาคหรือใช้ชุดวงเล็บเหลี่ยมหลายชุด ในขณะที่แอตทริบิวต์ของโหนดจะถูกวางไว้หลังคำสั่งที่มีเฉพาะชื่อของโหนดเท่านั้น แต่ไม่มีความสัมพันธ์ระหว่างจุด

graph graphname { // คุณสมบัตินี้ใช้กับตัวกราฟเองsize = "1,1" ; // คุณสมบัติ label สามารถใช้เพื่อเปลี่ยนป้ายกำกับของโหนดa [ label = "Foo" ]; // ในที่นี้ รูปร่างของโหนดถูกเปลี่ยนb [ shape = box ]; // ขอบทั้งสองนี้มีคุณสมบัติเส้นที่แตกต่างกันa -- b -- c [ color = blue ]; b -- d [ style = dotted ]; // [style=invis] ซ่อนโหนด}

รองรับป้ายกำกับที่คล้าย HTML แม้ว่าในตอนแรก Graphviz จะไม่รองรับก็ตาม[ 4 ]

ความคิดเห็น

DOT รองรับการเขียนความคิดเห็นแบบบรรทัดเดียวและหลายบรรทัดตามแบบภาษาCและC++นอกจากนี้ยังไม่สนใจบรรทัดที่มีเครื่องหมายแฮชเป็นอักขระตัวแรก เช่นเดียวกับภาษาที่ใช้การตีความหลายภาษา#

โปรแกรมจัดวาง

ต้นไม้ไบนารีที่สร้างขึ้นใน Graphviz จากคำอธิบาย DOT โดยใช้ตัวสร้างต้นไม้ฮัฟฟ์แมน ออนไลน์

ภาษา DOT กำหนดนิยามของกราฟ แต่ไม่ได้มีฟังก์ชันสำหรับแสดงผลกราฟ มีโปรแกรมหลายโปรแกรมที่สามารถใช้ในการแสดงผล ดู และจัดการกราฟในภาษา DOT ได้:

ทั่วไป

  • Graphviz – ชุดเครื่องมือและไลบรารีแบบ CLI สำหรับจัดการและแสดงผลกราฟในรูปแบบต่างๆ เช่นSVG , PDF , PNGเป็นต้น
    • dot– เครื่องมือ CLI สำหรับแปลงระหว่าง.dotรูปแบบต่างๆ และรูปแบบอื่นๆ

โค้ด JavaScript

  • Canviz ไลบรารีJavaScriptสำหรับแสดงผลไฟล์ DOT [ 5 ] 
  • d3-graphviz ไลบรารีJavaScriptที่ใช้ Viz.js และD3.jsซึ่งแสดงผลกราฟ DOT และรองรับการเปลี่ยนภาพเคลื่อนไหวระหว่างกราฟและการจัดการกราฟแบบโต้ตอบ[ 6 ] 
  • Vis.js ไลบรารีJavaScriptที่รับ DOT เป็นอินพุตสำหรับกราฟเครือข่าย[ 7 ] 
  • Viz.js – เป็นเวอร์ชัน JavaScript ของ Graphviz ที่มี wrapper ง่ายๆ สำหรับใช้ในเบราว์เซอร์[ 8 ]
  • hpcc-js/wasm Graphviz – ไลบรารี WASMที่รวดเร็วสำหรับ Graphviz คล้ายกับ Viz.js [ 9 ] 

ชวา

  • Gephi แพลตฟอร์มการแสดงภาพและการสำรวจแบบโต้ตอบสำหรับเครือข่ายและระบบที่ซับซ้อนทุกประเภท รวมถึงกราฟแบบไดนามิกและแบบลำดับชั้น 
  • Grappa การพอร์ต Graphviz บางส่วนไปยังJava 
  • graphviz-java โปรแกรมโอเพนซอร์สที่ดัดแปลง Graphviz มาเป็นภาษา Javaสามารถดาวน์โหลดได้จาก github.com 
  • ZGRViewer โปรแกรมดู DOT [ 10 ] 

อื่น

  • Beluging โปรแกรมแสดงผลไฟล์ DOT และ Beluga extensions ที่พัฒนาด้วยPythonและGoogle Cloud Platform 
  • Delineate แอ ปพลิเคชัน RustสำหรับLinuxที่สามารถแก้ไขกราฟ DOT ที่มีคุณสมบัติครบถ้วน พร้อมการแสดงตัวอย่างแบบโต้ตอบ และส่งออกเป็นไฟล์ PNG, SVG หรือ JPEG 
  • dot2tex โปรแกรมสำหรับแปลงไฟล์จาก DOT เป็นPGF/TikZหรือPSTricksซึ่งทั้งสองแบบจะแสดงผลในLaTeX [ 11 ] 
  • OmniGraffle แอ ปพลิเคชัน วาดภาพดิจิทัลสำหรับmacOSที่สามารถนำเข้าไฟล์ DOT บางส่วน และสร้างเอกสารที่แก้ไขได้ (แต่ไม่สามารถส่งออกกลับไปยังไฟล์ DOT ได้) 
  • Tulip เฟรมเวิร์กซอฟต์แวร์ในC++ที่สามารถนำเข้าไฟล์ DOT เพื่อการวิเคราะห์[ 12 ] 
  • VizierFX ไลบรารีการเรนเดอร์กราฟ Apache FlexในActionScript [ 13 ] 

หมายเหตุ

  1. "นามสกุลไฟล์ .dot หรือ .gv?" . marc.info . สืบค้นเมื่อ2011-03-08 .
  2. "ชื่อ 'dot' (รากศัพท์)" . Graphviz . 2022-11-14 . สืบค้นเมื่อ2023-07-10 .
  3. "คุณลักษณะของโหนด เส้นเชื่อม และกราฟ" graphviz.org สืบค้นเมื่อ12 พฤษภาคม 2017
  4. "รูปร่างของโหนด: ป้ายกำกับแบบ HTML" . graphviz.org . สืบค้นเมื่อ2017-05-12 .
  5. "canviz: graphviz บน canvas" . สืบค้นเมื่อ 2 มิถุนายน 2017 .
  6. "GitHub - magjac/d3-graphviz: การเรนเดอร์ DOT และการเปลี่ยนภาพเคลื่อนไหวด้วย Graphviz โดยใช้ D3" . github.com . สืบค้นเมื่อ2018-06-06 .
  7. "นำเข้าข้อมูลด้วยภาษา DOT" . vis.js . สืบค้นเมื่อ2018-12-22 .
  8. "Github - Viz.js - Graphviz ในเบราว์เซอร์ของคุณ "
  9. "hpcc-js/wasm" . GitHub . สืบค้นเมื่อ 2020-10-21 .
  10. "ZGRViewer" . zvtm.sourceforge.net . สืบค้นเมื่อ2017-05-12 .
  11. "dot2tex – ตัวแปลง Graphviz เป็น LaTeX" . dot2tex.readthedocs.io . 2019-11-01.
  12. "ซอฟต์แวร์แสดงภาพข้อมูล – Tulip" . tulip.labri.fr . สืบค้นเมื่อ2017-05-12 .
  13. "GitHub - gvhung/vizierfx: ส่งออกโดยอัตโนมัติจาก code.google.com/p/vizierfx" . github.com . เรียกดูเมื่อ2017-05-12 .

ดูเพิ่มเติม

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไม่มีชื่อบทความ

DOT เป็น ภาษาอธิบาย กราฟ ที่พัฒนาขึ้นเป็นส่วนหนึ่งของ โครงการ Graphviz กราฟ DOT มักจะถูกจัดเก็บเป็น ไฟล์ ที่มีนามสกุลไฟล์ .dot .gv หรือ .dot — .dot นามสกุล .dot .

ประเภทของกราฟ

โดยพื้นฐานแล้ว DOT สามารถใช้เพื่ออธิบาย กราฟแบบไม่มีทิศทาง กราฟแบบไม่มีทิศทางแสดงความสัมพันธ์ง่ายๆ ระหว่างวัตถุ เช่น มิตรภาพแบบต่างตอบแทนระหว่างบุคคล graph คำหลักใช้เพื่อเริ่มต้นกราฟใหม่ และโหนดจะถูกอธิบายภายในวงเล็บปีกกา เครื่องหมายขีดคู่ ( -- )...

คุณลักษณะ

สามารถใช้แอตทริบิวต์ต่างๆ กับกราฟ โหนด และขอบในไฟล์ DOT ได้ [ 3 ] แอตทริบิวต์เหล่านี้สามารถควบคุมลักษณะต่างๆ เช่น สี รูปร่าง และรูปแบบเส้น สำหรับโหนดและขอบ จะมีการวาง คู่แอตทริบิวต์-ค่า อย่างน้อยหนึ่งคู่ ไว้ในวงเล็บเหลี่ยม []...

ความคิดเห็น

DOT รองรับ การเขียนความคิดเห็น แบบบรรทัดเดียวและหลายบรรทัดตามแบบภาษา C และ C++ นอกจากนี้ยังไม่สนใจบรรทัดที่มีเครื่องหมายแฮชเป็นอักขระตัวแรก เช่นเดียวกับภาษาที่ใช้การตีความหลายภาษา #