DOT (язык) | это... Что такое DOT (язык)? (original) (raw)
Граф, описанный на языке DOT, обычно представляет собой текстовый файл с расширением .gv или .dot в понятном для человека и обрабатывающей программы формате.
В графическом виде графы, описанные на языке DOT, представляются с помощью специальных программ, например Graphviz.
Содержание
- 1 Расширение
- 2 Синтаксис
- 3 Ограничения
- 4 Программное обеспечение
- 5 Аналоги
- 6 См. также
- 7 Примечания
- 8 Ссылки
Расширение
Хотя язык допускает использование стандартных расширений .gv и .dot, следует отдавать предпочтение первому варианту — .gv, так как расширение .dot используется в Microsoft Office 2003[1].
Синтаксис
Общие положение
Структура графа на языке DOT описывается в виде списка субграфов, каждый элемент которого представляет собой конструкцию:
внутри которой (в фигурных скобках — { }) находятся комментарии и инструкции, описывающие субграф. Инструкции описывают вершины и рёбра целевого графа и разделяются символом точки с запятой — ;.
Комментарии
Язык DOT поддерживает комментарии в стиле языков C и C++ — // и /**/, а также используемый для этих целей в некоторых языках программирования символ # в качестве первого символа однострочного комментария.
// Комментарий в одну строку.
Комментарий в одну строку.
/* Комментарий из нескольких строк. */
Типы графов
Неориентированный граф
Неориентированный граф
Неориентированный граф в языке DOT описывается списком вершин и рёбер, представленных названием вершин и двойным тире (--) между связанными вершинами.
graph graphname { a; b; c; d; a -- b; b -- c; b -- d; }
Или эквивалентным образом, опустив избыточные описания:
graph graphname { a -- b -- c; b -- d; }
Ориентированный граф
Ориентированный граф
Ориентированный граф в языке DOT описывается списком вершин и рёбер, представленных названием вершин и стилизованной тире и треугольной скобкой стрелочкой (->) между связанными вершинами:
digraph graphname { a -> b -> c; b -> d; }
Либо с избыточным описанием:
digraph graphname { a; b; c; d; a -> b; b -> c; b -> d; }
Атрибуты
Граф с атрибутами
При описании графов на языке DOT можно использовать атрибуты, определяющие цвет, форму и стиль вершин и рёбер. Аттрибуты описываются парами ключ=значение, заключёнными в квадратные скобки ([ключ=значение]). Для каждого элемента графа может быть определено несколько атрибутов, разделённых пробелом
graph graphname { // label - видимое название вершины a [label="Foo"]; // shape - определение формы вершины b [shape=box]; // color - определение цвета ребра a -- b -- c [color=blue]; // style - определение стиля ребра b -- d [style=dotted]; }
Ограничения
Расположение элементов не соответствует ожидаемому.
Расположение элементов после ручной корректировки.
Так как язык 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 }
}
Программное обеспечение
Для представления графов, описанных на языке DOT используется множество программ, виджетов и библиотек, среди которых:
- Graphviz
- OmniGraffle
- ZGRViewer
- VizierFX
Аналоги
- GraphML
- Trivial Graph Format
- GML
- GXL
- XGMML
- DGML
См. также
Примечания
- ↑ File extension .dot or .gv?. Архивировано из первоисточника 5 сентября 2012. Проверено 8 марта 2011. (англ.)