Jump to content

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++ однострочные и многострочные комментарии . Кроме того, он игнорирует строки с символом числового знака. # в качестве их первого символа, как и во многих интерпретируемых языках.

Программы верстки

[ редактировать ]
Двоичное дерево, созданное в Graphviz на основе описания DOT с помощью онлайн- генератора деревьев Хаффмана.

Язык DOT определяет граф, но не предоставляет средств для его отображения. Существует несколько программ, которые можно использовать для визуализации, просмотра и управления графиками на языке DOT:

  • Graphviz — набор утилит и библиотек CLI для управления графиками и их рендеринга в различные форматы, такие как SVG , PDF , PNG и т. д.
    • dot – Инструмент CLI для преобразования между .dot и другие форматы
  • 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]

Примечания

[ редактировать ]
  1. ^ «Расширение файла .dot или .gv?» . marc.info . Проверено 8 марта 2011 г.
  2. ^ « имя-точка (этимология)» . Графвиз . 14 ноября 2022 г. Проверено 10 июля 2023 г.
  3. ^ «Атрибуты узла, ребра и графа» . www.graphviz.org . Проверено 12 мая 2017 г.
  4. ^ «Формы узлов: HTML-подобные метки» . www.graphviz.org . Проверено 12 мая 2017 г.
  5. ^ «canviz: графвиз на холсте» . Проверено 2 июня 2017 г.
  6. ^ «GitHub — magjac/d3-graphviz: DOT-рендеринг Graphviz и анимированные переходы с использованием D3» . github.com . Проверено 6 июня 2018 г.
  7. ^ «Импортировать данные на языке DOT» . вис.js. ​Проверено 22 декабря 2018 г.
  8. ^ «hpcc-js/wasm» . Проверено 21 октября 2020 г.
  9. ^ «ЗГРВивер» . zvtm.sourceforge.net . Проверено 12 мая 2017 г.
  10. ^ «dot2tex — конвертер Graphviz в LaTeX» . dot2tex.readthedocs.io . 01.11.2019.
  11. ^ «Программное обеспечение для визуализации данных – Tulip» . tulip.labri.fr . Проверено 12 мая 2017 г.
  12. ^ «GitHub — gvhung/vizierfx: автоматически экспортируется из code.google.com/p/vizierfx» . github.com . Проверено 12 мая 2017 г.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c6675154a30a9a5a8be2c203eeb4a133__1722697800
URL1:https://arc.ask3.ru/arc/aa/c6/33/c6675154a30a9a5a8be2c203eeb4a133.html
Заголовок, (Title) документа по адресу, URL1:
DOT (graph description language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)