DOT (язык)

DOT (язык)
6n-graf.svg

DOT — язык описания графов.

Граф, описанный на языке DOT, обычно представляет собой текстовый файл с расширением .gv или .dot в понятном для человека и обрабатывающей программы формате.

В графическом виде графы, описанные на языке DOT, представляются с помощью специальных программ, например Graphviz.

Содержание

Расширение

Хотя язык допускает использование стандартных расширений .gv и .dot, следует отдавать предпочтение первому варианту — .gv, так как расширение .dot используется в Microsoft Office 2003[1].

Синтаксис

Общие положение

Структура графа на языке DOT описывается в виде списка субграфов, каждый элемент которого представляет собой конструкцию:

 
graph %имя_графа% {
}

внутри которой (в фигурных скобках — { }) находятся комментарии и инструкции, описывающие субграф. Инструкции описывают вершины и рёбра целевого графа и разделяются символом точки с запятой — ;.

Комментарии

Язык 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

Аналоги

См. также

Примечания

  1. File extension .dot or .gv?. Архивировано из первоисточника 5 сентября 2012. Проверено 8 марта 2011. (англ.)

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "DOT (язык)" в других словарях:

  • Polka-Dot Puss — Котик симулянт англ. Polka Dot Puss …   Википедия

  • Латгальский язык — Самоназвание: latgaļu volūda Страны: Латвия …   Википедия

  • Латвийский язык — Латышский язык Самоназвание: Latviešu valoda Страны: Латвия Официальный статус: Латвия, ЕС Общее число носителей: около 2 млн.[1] …   Википедия

  • S (язык программирования)/Temp — Это временная версия статьи S (язык программирования). После внесения в неё правок нужно объединить эту статью со статьёй S (язык программирования) и заменить её содержимое шаблоном {{db}}. Если статья не подходит под формат Википедии, то её… …   Википедия

  • S (язык программирования) — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. У этого термина существуют и другие значения, см. S. S  язы …   Википедия

  • Graphviz — Тип Graph Visualization Разработчик AT T …   Википедия

  • GraphML — GraphML  язык описания (иногда упоминается как отдельный формат файлов) графов на основе XML. Содержание 1 Введение в GraphML 2 Другие механизмы описания графов …   Википедия

  • Trivial Graph Format — («простой формат графов», сокр. TGF)  простой формат файлов, основанный на тексте, для описания графов. Пример Простой граф с 2 узлами и 1 ребром может выглядеть следующим образом: 1 Первый узел 2 Второй узел # 1 2 Ребро между ними Другие… …   Википедия

  • Граф (математика) — У этого термина существуют и другие значения, см. Граф (значения). Неориентированный граф с шестью вершинами и семью рёбрами В математической теории графов и информатике граф  это совокупность непустого множества вершин и множества пар… …   Википедия

  • Города Литвы — В Литве выделяются три типа населённых пунктов: города, местечки (miestelis; городки) и деревни ( …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»