Создание графов зависимостей с помощью текста

1. Обзор

В этом руководстве мы изучим инструменты, которые мы можем использовать для создания графиков зависимостей на основе нашего текстового ввода.

2. Графы зависимостей

Граф зависимостей — это граф с направленными ребрами, которые представляют отношения, существующие между вершинами. Обычно его используют для описания процессов , например, при разработке программного обеспечения; или отношения , например, содержащиеся в графе знаний.

Как и для всех ориентированных графов, графы зависимостей также содержат узлы или вершины, представленные в виде прямоугольников или кружков с метками. , и стрелки, соединяющие их в обязательном направлении обхода.

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

Чтобы помочь нам в этом, мы сейчас рассмотрим некоторые из них вместе с примерами их применения. Их использование значительно сократит время, которое мы тратим на рисование графиков зависимостей вручную.

3. Инструменты для рисования графиков зависимостей

3.1. Graphviz

Graphviz — это программа для визуализации графиков, которая очень популярна из-за ее частого использования для графического представления деревьев решений в машинном обучении. Его популярность обусловлена ​​существованием библиотек, реализующих его на большинстве языков программирования , таких как Python, R, Java и Scala.

Graphviz использует упрощенный язык. называется DOT, который строит граф вокруг набора меток узлов, определенных программистом. Существует также веб-версия Graphviz, которая позволяет нам напрямую вводить описание графика в браузер без установки какого-либо программного обеспечения. Например, мы можем попробовать следующий код:

  graph G {rankdir = LR "Этот граф" - "имеет" - "два листа" - 1;  "два листа" - 2;}  

Он генерирует это изображение:

3.2. Mermaid

Еще один похожий инструмент — Mermaid, который недавно получил награду JavaScript с открытым исходным кодом как самая захватывающая технология в 2019 году. Mermaid имеет преимущество. легко интегрируются в интерпретаторы Markdown ; это делает его особенно полезным, если мы работаем над Jupyter Notebooks и нам нужно быстро нарисовать некоторые диаграммы зависимостей. Язык позволяет определять узлы различной формы и добавлять метки как к узлам, так и к краям.

Существует также веб-страница, использующая Mermaid, где мы можем проверить наши идеи на ходу. Это пример кода для создания графика в Mermaid:

  graph TD A [/Как стать богатым/] --- B ([Открыть бизнес]);  B -> C [Покупать по низкой цене];  C -> D [Продавать по высокой цене];  D -> | повторить |  CD -> E ([Profit]);  

Код создает эту диаграмму:

3.3. WebSequenceDiagrams

WebSequenceDiagrams — это веб-сайт, а не программное обеспечение, которое позволяет рисовать графы зависимостей и добавлять некоторые дополнительные уровни. Его бесплатная версия позволяет добавлять несколько простых изображений и макетов, которые делают графики более интересными для читателя.

Его синтаксис прост, а что касается выше, давайте определим графики, указав узлы, перемежаемые стрелками. Мы также можем добавить к графикам простые циклы или варианты в качестве дополнительных слоев:

  title Holiday Plansopt финансы Оставайтесь дома-> Путешествие: Если достаточно денежных документов Оставайтесь дома-> Путешествие: Если  имеет visaend  

Приведенный выше фрагмент дает следующий результат:

3,4. Nomnoml

Еще один полезный инструмент — nomnoml, который выполняет аналогичные функции, но в более «комическом» или мультяшном стиле. Он использует обозначение квадратных скобок и позволяет настраивать график в соответствии со стилем, подобным CSS.

Его основное преимущество заключается в том, что он основан на веб-интерфейсе и, следовательно, требует нет установки . Кроме того, он позволяет экспортировать изображения в форматах PNG и SVG, а также напрямую обмениваться ссылками, которые воссоздают код и графики:

  [Разработка программного обеспечения] -> [Опубликовать  ] [Опубликовать] -> [ Отзыв пользователя] [Отзыв пользователя] -> [Отрицательный отзыв] [Отрицательный отзыв] -> [Добавить функции] [Добавить функции] -> [Опубликовать]   

Вот как выглядит выходной график:

3.5. yUML

yUML — это веб-инструмент, который позволяет нам рисовать графики на основе языка квадратных скобок. Особенно интересна функция, которая позволяет рисовать неряшливые графики, которые придают нашим диаграммам неформальный и дружественный вид . yUML также позволяет нам добавлять заметки к графикам, которые позволяют нам добавлять дополнительные комментарии, которые легко интерпретировать:

  [A]  -> [B] [B]   [C] [примечание: это стикер {bg: yellow}]  

Это изображение, которое генерирует код:

3.6. LaTeX

И, наконец, мы также можем использовать LaTeX для представления графиков. С одной стороны, его синтаксис, безусловно, сложнее, чем у любого из предыдущих инструментов. С другой стороны, LaTeX предлагает превосходные возможности для настройки всех элементов графа зависимостей :

 

4. Заключение

В этой статье мы изучили некоторые инструменты, которые можно использовать для создания графов зависимостей.

Оцените статью
Botgadget.ru
Добавить комментарий