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. Заключение
В этой статье мы изучили некоторые инструменты, которые можно использовать для создания графов зависимостей.