DOT (язык описания графов)
Расширения имен файлов | .gv |
---|---|
Тип интернет-СМИ | текст/vnd.graphviz |
Тип формата | графа Язык описания |
Открытый формат ? | Да |
DOT — язык описания графов , разработанный в рамках проекта Graphviz . Графики DOT обычно хранятся в виде файлов с расширением .gv
или .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
Ключевое слово используется для начала нового графа, а узлы описываются в фигурных скобках. Двойной дефис ( --
) используется для отображения отношений между узлами.
// The graph name and the semicolons are optional
graph graphname {
a -- b -- c;
b -- d;
}
Ориентированные графы
[ редактировать ]Подобно неориентированным графам, DOT может описывать ориентированные графы , такие как блок-схемы и деревья зависимостей . Синтаксис тот же, что и для неориентированных графов, за исключением digraph
Ключевое слово используется для начала графика, а стрелка (->) используется для отображения связей между узлами.
digraph graphname {
a -> b -> c;
b -> d;
}
Атрибуты
[ редактировать ]К графам, узлам и ребрам в файлах DOT можно применять различные атрибуты. [3] Эти атрибуты могут управлять такими аспектами, как цвет, форма и стили линий. Для узлов и ребер одна или несколько пар атрибут-значение помещаются в квадратные скобки. []
после оператора и перед точкой с запятой (что необязательно). Атрибуты графа указываются как прямые пары атрибут-значение под элементом графа, где несколько атрибутов разделяются запятой или с помощью нескольких наборов квадратных скобок, а атрибуты узла помещаются после оператора, содержащего только имя узла, но не имя узла. отношения между точками.
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-подобные метки, хотя изначально Graphviz их не обрабатывал. [4]
Комментарии
[ редактировать ]DOT поддерживает в стиле C и C++ однострочные и многострочные комментарии . Кроме того, он игнорирует строки с символом числового знака. #
в качестве их первого символа, как и во многих интерпретируемых языках.
Программы верстки
[ редактировать ]Язык 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, предоставляющий простую оболочку для его использования в браузере.
- hpcc-js/wasm Graphviz — быстрая библиотека WASM для Graphviz, аналогичная Viz.js. [8]
Ява
[ редактировать ]- Gephi — интерактивная платформа визуализации и исследования всех видов сетей и сложных систем, динамических и иерархических графиков.
- Граппа — частичный порт Graphviz на Java.
- Graphviz-java — частичный порт Graphviz с открытым исходным кодом на Java, доступный на github.com.
- ZGRViewer – просмотрщик DOT [9]
Другой
[ редактировать ]- Beluging — Python и Google Cloud Platform. средство просмотра расширений DOT и Beluga на базе
- dot2tex — программа для преобразования файлов из DOT в PGF/TikZ или PSTricks , оба из которых визуализируются в LaTeX. [10]
- OmniGraffle – приложение для создания цифровых иллюстраций для macOS , которое может импортировать подмножество DOT, создавая редактируемый документ (но результат нельзя экспортировать обратно в DOT).
- Tulip — программная платформа на C++ , которая может импортировать файлы DOT для анализа. [11]
- VizierFX — библиотека рендеринга графов Apache Flex в ActionScript. [12]
Примечания
[ редактировать ]- ^ «Расширение файла .dot или .gv?» . marc.info . Проверено 8 марта 2011 г.
- ^ « имя-точка (этимология)» . Графвиз . 14 ноября 2022 г. Проверено 10 июля 2023 г.
- ^ «Атрибуты узла, ребра и графа» . www.graphviz.org . Проверено 12 мая 2017 г.
- ^ «Формы узлов: HTML-подобные метки» . www.graphviz.org . Проверено 12 мая 2017 г.
- ^ «canviz: графвиз на холсте» . Проверено 2 июня 2017 г.
- ^ «GitHub — magjac/d3-graphviz: DOT-рендеринг Graphviz и анимированные переходы с использованием D3» . github.com . Проверено 6 июня 2018 г.
- ^ «Импортировать данные на языке DOT» . вис.js. Проверено 22 декабря 2018 г.
- ^ «hpcc-js/wasm» . Проверено 21 октября 2020 г.
- ^ «ЗГРВивер» . zvtm.sourceforge.net . Проверено 12 мая 2017 г.
- ^ «dot2tex — конвертер Graphviz в LaTeX» . dot2tex.readthedocs.io . 01.11.2019.
- ^ «Программное обеспечение для визуализации данных – Tulip» . tulip.labri.fr . Проверено 12 мая 2017 г.
- ^ «GitHub — gvhung/vizierfx: автоматически экспортируется из code.google.com/p/vizierfx» . github.com . Проверено 12 мая 2017 г.
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- Учебное пособие и спецификация DOT
- Graphviz Online : мгновенное преобразование и визуализация описаний DOT
- Библиотека графов повышения
- lisp2dot или Tree2dot : конвертировать деревья программ, подобные языку программирования Lisp , в язык DOT (предназначенный для использования в генетическом программировании ).