Графвиз
Строка 11: | Строка 11: | ||
<nowiki><graphviz> | <nowiki><graphviz> | ||
digraph G { | digraph G { | ||
− | + | A -> B ; | |
} | } | ||
</graphviz></nowiki> | </graphviz></nowiki> | ||
− | |||
− | |||
− | |||
<graphviz> | <graphviz> | ||
− | digraph | + | digraph G { |
− | + | rankdir = LR ; | |
− | + | A -> B ; | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
} | } | ||
</graphviz> | </graphviz> | ||
+ | |||
+ | |||
+ | === [[Графвиз/для проекта Моя семья]] === | ||
+ | {{#ask: [[Графвиз/для проекта Моя семья]] | format = embedded }} | ||
+ | |||
+ | == Примеры == | ||
+ | |||
+ | === [[GraphViz/DotFileParser]] === | ||
+ | |||
+ | {{#ask: [[GraphViz/DotFileParser]] | format = embedded }} | ||
=== Новые возможности Render === | === Новые возможности Render === |
Версия 15:36, 1 марта 2020
Графвиз - набор утилит для графического представления данных. Программа принимает описания отношений и элементов множеств, на которых определяется граф, и "добавляет" к этим лишенным всяких геометрических атрибутов описаниям дополнительную информацию, позволяющую "нарисовать" картинку графа.
Для использования Графвиз требуется использовать примитивный язык описания графов dgl. Основные понятия:
- граф,
- вершина графа -- элемент множества,
- ребро графа, соединяющее вершину N с вершиной M
<graphviz>
digraph G {
A -> B ;
}
</graphviz>
Содержание |
Графвиз/для проекта Моя семья
Графвиз/для проекта Моя семья
Специально для проекта Моя семья
Для того, чтобы создать генеалогическое древо семьи в Летописи, нам потребуется пакет Графвиз и простые команды указания ->. В дальнейших записях отношения А ->Б всегда означает, что А является родителем Б. Поскольку у людей родителей может быть двое, то мы эти родительские отношения будем снабжать метками - [label="папа"] или [label="мама"]
digraph G { //1 - Запишем участника ; "Участник:Аксюта Герман" // Запишем нового родственника и укажем, что он папа Участника "Аксюта Владислав Николаевич" -> "Участник:Аксюта Герман" [label="папа"] ; // Запишем нового родственника и укажем, что она мама Участника "Аксюта Людмила Сергеевна" -> "Участник:Аксюта Герман" [label="мама"]; // Запишем нового родственника и укажем, что он папа папы "Аксюта Николай Николаевич" -> "Аксюта Владислав Николаевич" [label="папа"]; }
Результат этих простых отношений пакет графвиз представит на следующем рисунке. В дальнейшем мы можем просто тихонечко наращивать это дерево. О том, как можно поворачивать деревья, окрашивать их в разные цвета, управлять их размерами и формами - смотрите и спрашивайте на страничке Графвиз руководство
Примеры
GraphViz/DotFileParser
GraphViz/DotFileParser
Пример - GraphViz/DotFileParser
Новые возможности Render
Новая версия GraphViz Extension позволяет использовать renderer
- renderer='dot'
- renderer='twopi'
- renderer='neato'
- renderer='twopi'
- renderer='sfdp'
- renderer='circo'
DOT
twopi
NEATO
Метод «neato» использует «энергетическую» (spring) модель, по сути, близкую к методу искуственного отжига — начиная с некоторого состояния вершины перемещаются, чтобы минимизировать некую потенциальную энергию. Рекомендуем для ненаправленных графов общего вида.
Обратить внимание - NetLogo layout - spring http://ccl.northwestern.edu/netlogo/docs/dict/layout-spring.html
CIRCO
См.