stringtranslate.com

DOT (язык описания графов)

DOT — язык описания графов , разработанный в рамках проекта Graphviz . Графики DOT обычно хранятся в виде файлов с расширением или.gv — предпочтительнее , чтобы избежать путаницы с расширением, используемым версиями Microsoft Word до 2007 года. [1] — также название основной программы для обработки файлов DOT в пакете Graphviz..dot .gv.dot dot

Различные программы могут обрабатывать файлы 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Ключевое слово используется для начала нового графа, а узлы описываются в фигурных скобках. Двойной дефис ( --) используется для отображения отношений между узлами.

// Имя графика и точки с запятой необязательны graph graphname { 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:

Общий

JavaScript

Ява

Другой

Примечания

  1. ^ "Расширение файла .dot или .gv?". marc.info . Получено 2011-03-08 .
  2. ^ "имя 'точка' (этимология)". Graphviz . 2022-11-14 . Получено 2023-07-10 .
  3. ^ "Атрибуты узлов, ребер и графов". graphviz.org . Получено 12 мая 2017 г.
  4. ^ "Узловые формы: метки в стиле HTML". graphviz.org . Получено 12 мая 2017 г.
  5. ^ "canviz: graphviz на холсте" . Получено 2017-06-02 .
  6. ^ "GitHub - magjac/d3-graphviz: Рендеринг DOT Graphviz и анимированные переходы с использованием D3". github.com . Получено 2018-06-06 .
  7. ^ "Импорт данных на языке DOT". vis.js . Получено 22.12.2018 .
  8. ^ "hpcc-js/wasm" . Получено 2020-10-21 .
  9. ^ "ZGRViewer". zvtm.sourceforge.net . Получено 2017-05-12 .
  10. ^ "dot2tex – Конвертер Graphviz в LaTeX". dot2tex.readthedocs.io . 2019-11-01.
  11. ^ "Программное обеспечение для визуализации данных – Tulip". tubulpan.labri.fr . Получено 2017-05-12 .
  12. ^ "GitHub - gvhung/vizierfx: Автоматически экспортировано из code.google.com/p/vizierfx". github.com . Получено 2017-05-12 .

Смотрите также

Внешние ссылки