DOT — це текстова мова опису графів. Вона достатньо проста як для людей, так і для комп'ютерів. Графи DOT це зазвичай Файли з розширенням .gv (чи .dot).
DOT | |
Розробник | Bell Laboratories[1] |
---|---|
URL довідки користувача | graphviz.org/doc/info/lang.html graphviz.org/doc/info/attrs.html graphviz.org/doc/info/shapes.html graphviz.org/doc/info/arrows.html graphviz.org/doc/info/colors.html |
MIME-тип інтернет-вмісту | text/vnd.graphviz[2] |
Розширення файлу | .gv [2] або .dot [2] |
DOT у Вікісховищі |
DOT-файли можуть оброблятись різними програмами. Такі як dot, neato, twopi, circo, fdp, та sfdp, прочитають DOT файл і відтворять його в графічній формі. Інші, як наприклад gvpr, gc, accyclic, ccomps, sccmap, та tred, після читання графу будуть виконувати над ним різні обчислення. А такі програми як GVedit, lefty, dotty, та grappa, надають інтерактивний інтерфейс. Більшість програм є частиною пакету Graphviz.
Синтаксис
Типи графів
Ненаправлені
Ключове слово graph використовують для створення нового графу, і його елементи описуються всередині фігурних дужок. Подвійний дефіс використовують щоб показати відношення між вершинами.
graph graphname { a -- b -- c; b -- d; }
Направлені графи
Подібно до ненаправлених графів, мова DOT може описувати направлені, такі як блок-схеми та дерева залежностей. Синтакс такий самий, тільки на початку використовується ключове слово digraph (англ. directed graph), і зв'язки між вершинами позначаються стрілочками (->).
digraph graphname { a -> b -> c; b -> d; }
Атрибути
Вершинам та ребрам можна присвоювати певні атрибути, які будуть змінювати вигляд графу, такі як колір, форма, чи стиль ліній. В квадратні дужки перед крапкою з комою ([]) поміщається одна, чи більше пар ім'я-значення, розділених комою. Щоб призначити атрибути для вершин, їх розміщують в рядку що містить тільки ім'я вершини, без відношень.
graph graphname { // Атрибут label можна використовувати щоб змінювати підпис вершини a [label="Foo"]; // тут змінюємо форму вершини b [shape=box]; // А тут змінюємо вигляд ребер. a -- b -- c [color=blue]; b -- d [style=dotted]; }
Коментарі
Dot підтримує коментарі як в стилі C, так і в стилі скриптових мов:
// Однорядковий коментар /* А це - багаторядковий коментар. */ # І це коментар
Програми малювання
Мова DOT описує граф, але не надає можливостей для його відображення. Існує кілька програм, що можуть використовуватись для перегляду та маніпулювання графами в мові DOT:
- Graphviz — колекція програм для обробки графів в мові DOT
- Grappa — Java редактор та переглядач графів, що базується на Graphviz
- Beluging — Переглядач графів що базується на Python та Google Cloud.
- Tulip [ 13 квітня 2009 у Wayback Machine.] може імпортувати файли dot для аналізу.
- може імпортувати підмножину DOT, та створює документ який можна редагувати. (Результат можна знову зберегти в DOT)
- , переглядач GraphViz/DOT (Посилання [ 12 червня 2018 у Wayback Machine.])
- , бібліотека рендерингу графів для Flex. .
Обмеження
Хоча можливо явно задавати розміщення графу з DOT, але не всі інструменти що використовують мову DOT звертають увагу на атрибути позиції. Тому, іноді автоматичне розміщення графу відбувається не так як би того хотілось і доводиться доробляти все вручну.
Наприклад:
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 } }
Зображення вище трохи скошене, і мітка «(g o f)'» розташована не там де потрібно.
Це можна виправити за допомогою Inkscape чи іншого SVG редактора. В деяких випадках, це також можна виправити використовуючи атрибут pos для явного задання позиції.
Інші формати зберігання графів
- , простий текстовий формат
- [en] інший широко розповсюджений формат — GML [ 28 листопада 2009 у Wayback Machine.]
- GraphML, формат зберігання графів на базі XML — GraphML [ 13 грудня 2009 у Wayback Machine.]
- , ще один XML формат — GXL [ 5 січня 2010 у Wayback Machine.]
- XML формат дуже схожий на GML —
- , Directed Graph Markup Language від Microsoft
- Mermaid — проста мова для створення графіків та діаграм
Див. також
- Graphviz
- Граф (абстрактний тип даних)
- інструмент для трансляції дерева програми на мові LISP в мову DOT
Примітки
- https://reference.wolfram.com/language/ref/format/DOT.html
- https://www.iana.org/assignments/media-types/text/vnd.graphviz — 2008.
- Mermaid | Diagramming and charting tool. mermaid.js.org. Процитовано 17 січня 2023.
Посилання
- Специфікація й інструкції до DOT [ 2 грудня 2010 у Wayback Machine.]
- Галерея прикладів [ 2 грудня 2010 у Wayback Machine.]
- Boost Graph Library [ 2 грудня 2008 у Wayback Machine.]
- Grappa Drawing Package [ 12 жовтня 2010 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
DOT ce tekstova mova opisu grafiv Vona dostatno prosta yak dlya lyudej tak i dlya komp yuteriv Grafi DOT ce zazvichaj Fajli z rozshirennyam gv chi dot DOT RozrobnikBell Laboratories 1 URL dovidki koristuvachagraphviz org doc info lang html graphviz org doc info attrs html graphviz org doc info shapes html graphviz org doc info arrows html graphviz org doc info colors html MIME tip internet vmistutext vnd graphviz 2 Rozshirennya fajlu gv 2 abo dot 2 DOT u Vikishovishi DOT fajli mozhut obroblyatis riznimi programami Taki yak dot neato twopi circo fdp ta sfdp prochitayut DOT fajl i vidtvoryat jogo v grafichnij formi Inshi yak napriklad gvpr gc accyclic ccomps sccmap ta tred pislya chitannya grafu budut vikonuvati nad nim rizni obchislennya A taki programi yak GVedit lefty dotty ta grappa nadayut interaktivnij interfejs Bilshist program ye chastinoyu paketu Graphviz SintaksisTipi grafiv Nenapravleni Nenapravlenij graf Klyuchove slovo graph vikoristovuyut dlya stvorennya novogo grafu i jogo elementi opisuyutsya vseredini figurnih duzhok Podvijnij defis vikoristovuyut shob pokazati vidnoshennya mizh vershinami graph graphname a b c b d Napravleni grafi Napravlenij graf Podibno do nenapravlenih grafiv mova DOT mozhe opisuvati napravleni taki yak blok shemi ta dereva zalezhnostej Sintaks takij samij tilki na pochatku vikoristovuyetsya klyuchove slovo digraph angl directed graph i zv yazki mizh vershinami poznachayutsya strilochkami gt digraph graphname a gt b gt c b gt d Atributi Graf z atributami Vershinam ta rebram mozhna prisvoyuvati pevni atributi yaki budut zminyuvati viglyad grafu taki yak kolir forma chi stil linij V kvadratni duzhki pered krapkoyu z komoyu pomishayetsya odna chi bilshe par im ya znachennya rozdilenih komoyu Shob priznachiti atributi dlya vershin yih rozmishuyut v ryadku sho mistit tilki im ya vershini bez vidnoshen graph graphname Atribut label mozhna vikoristovuvati shob zminyuvati pidpis vershini a label Foo tut zminyuyemo formu vershini b shape box A tut zminyuyemo viglyad reber a b c color blue b d style dotted Komentari Dot pidtrimuye komentari yak v stili C tak i v stili skriptovih mov Odnoryadkovij komentar A ce bagatoryadkovij komentar I ce komentarProgrami malyuvannyaMova DOT opisuye graf ale ne nadaye mozhlivostej dlya jogo vidobrazhennya Isnuye kilka program sho mozhut vikoristovuvatis dlya pereglyadu ta manipulyuvannya grafami v movi DOT Graphviz kolekciya program dlya obrobki grafiv v movi DOT Grappa Java redaktor ta pereglyadach grafiv sho bazuyetsya na Graphviz Beluging Pereglyadach grafiv sho bazuyetsya na Python ta Google Cloud Tulip 13 kvitnya 2009 u Wayback Machine mozhe importuvati fajli dot dlya analizu mozhe importuvati pidmnozhinu DOT ta stvoryuye dokument yakij mozhna redaguvati Rezultat mozhna znovu zberegti v DOT pereglyadach GraphViz DOT Posilannya 12 chervnya 2018 u Wayback Machine biblioteka renderingu grafiv dlya Flex ObmezhennyaZobrazhennya sho namalovane neakuratno Pislya deyakih peremishen vershin ta zmini rozmiru shriftu zobrazhennya viglyadaye pravilnishe Hocha mozhlivo yavno zadavati rozmishennya grafu z DOT ale ne vsi instrumenti sho vikoristovuyut movu DOT zvertayut uvagu na atributi poziciyi Tomu inodi avtomatichne rozmishennya grafu vidbuvayetsya ne tak yak bi togo hotilos i dovoditsya doroblyati vse vruchnu Napriklad digraph g node shape plaintext A1 gt B1 A2 gt B2 A3 gt B3 A1 gt A2 label f A2 gt A3 label g B2 gt B3 label g B1 gt B3 label g o f tailport s headport s rank same A1 A2 A3 rank same B1 B2 B3 Zobrazhennya vishe trohi skoshene i mitka g o f roztashovana ne tam de potribno Ce mozhna vipraviti za dopomogoyu Inkscape chi inshogo SVG redaktora V deyakih vipadkah ce takozh mozhna vipraviti vikoristovuyuchi atribut pos dlya yavnogo zadannya poziciyi Inshi formati zberigannya grafiv prostij tekstovij format en inshij shiroko rozpovsyudzhenij format GML 28 listopada 2009 u Wayback Machine GraphML format zberigannya grafiv na bazi XML GraphML 13 grudnya 2009 u Wayback Machine she odin XML format GXL 5 sichnya 2010 u Wayback Machine XML format duzhe shozhij na GML Directed Graph Markup Language vid Microsoft Mermaid prosta mova dlya stvorennya grafikiv ta diagramDiv takozhGraphviz Graf abstraktnij tip danih instrument dlya translyaciyi dereva programi na movi LISP v movu DOTPrimitkihttps reference wolfram com language ref format DOT html https www iana org assignments media types text vnd graphviz 2008 Mermaid Diagramming and charting tool mermaid js org Procitovano 17 sichnya 2023 PosilannyaSpecifikaciya j instrukciyi do DOT 2 grudnya 2010 u Wayback Machine Galereya prikladiv 2 grudnya 2010 u Wayback Machine Boost Graph Library 2 grudnya 2008 u Wayback Machine Grappa Drawing Package 12 zhovtnya 2010 u Wayback Machine