Диаграммы GraphViz

В этом документе описывается, как создавать диаграммы GraphViz с помощью API диаграмм.

Обзор

GraphViz — это пакет инструментов с открытым исходным кодом для визуализации графов связности. Вы можете создавать графики GraphViz, используя язык DOT и механизмы компоновки по вашему выбору.

Диаграммы GraphViz поддерживают другой набор обязательных параметров. Вот поддерживаемые параметры:

Параметр Обязательный или необязательный Описание
cht=gv[:< opt_engine >] Необходимый

Указывает диаграмму GraphViz. При желании вы можете указать механизм GraphViz. Если вы хотите указать механизм компоновки, включите точку с запятой : и укажите одну из следующих строк для <opt_engine> :

  • dot — движок по умолчанию
  • neato
  • twopi
  • circo
  • fdp

См. веб-сайт GraphViz для описания этих различных механизмов.

chs=< width >x< height > Необязательный Если вы не укажете размер, размер диаграммы будет изменен автоматически.
chl= <DOT_string > Необходимый Диаграмма для рисования в обозначениях языка DOT. Справочник по языку DOT можно найти на веб-сайте GraphViz.
chd НЕ ИСПОЛЬЗУЕТСЯ Коды GraphViz необычны тем, что параметр chd игнорируется. Не включайте его в свой URL.
chof=< output_format > Необязательный Выходной формат диаграммы. См. описание параметра, чтобы узнать, какие форматы вывода поддерживаются. Если вы укажете chof=json , вы получите JSON-представление диаграммы в виде карты изображений HTML, которую можно использовать для добавления ссылок или интерактивности к диаграмме. Подробности см. в разделе Создание карты-изображения диаграммы .
callback=< handling_function_name > Необязательный Если вы укажете chof=json , вы также можете указать функцию для вызова с возвращаемым JSON, который включает карту изображения диаграммы. Ваша функция должна принимать один параметр JSON, который будет JSON-представлением диаграммы. Затем ваша страница может указать вашу диаграмму как элемент <img> для отображения диаграммы, а также вызвать тот же URL-адрес с помощью chof=json&callback= somefunc и включить функцию somefunc() , которая будет анализировать возвращенный JSON и добавлять ссылки или интерактивность. .

Примеры:

Описание Пример

пример точечного движка (по умолчанию).

dot chart
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

Пример той же диаграммы для двигателя Neato. neato chart
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
Точечная диаграмма без указания размера. Размер диаграммы будет изменен автоматически. dot chart with no size specified
cht=gv
chl=graph{a--b--c;b--d}
Более сложная диаграмма. A fancier dot chart
cht=gv
chl=
graph{C_0--H_0[type=s];C_0--H_1[type=s];C_0--H_2[type=s];C_0--C_1[type=s];C_1--H_3[type=s];C_1--H_4[type=s];C_1--H_5[type=s]}

Вот несколько советов и известные ограничения текущих диаграмм GraphViz:

  • size атрибута graph не должен использоваться; вместо этого используйте параметр chs API диаграмм.
  • Максимальное количество узлов — 200, а максимальное количество ребер — 400.
  • Сглаживание, прозрачность и альтернативные шрифты не поддерживаются.
  • Атрибуты node image и shapefile не поддерживаются и при их наличии приведут к ошибке.
  • Атрибуты graph ratio , margin и pad не поддерживаются и будут игнорироваться, если они присутствуют.