Графвиз

Материал из Letopisi.Ru — «Время вернуться домой»
(Различия между версиями)
Перейти к: навигация, поиск
(Описание)
(не показаны 36 промежуточных версий 3 участников)
Строка 1: Строка 1:
'''Графвиз''' - набор утилит для графического представления данных.  
+
<youtube v="gXjU1DSsxm4" />
 +
 
 +
== Описание ==
 +
 
 +
[[Графвиз]] - набор утилит для графического представления данных.  
 
Программа  принимает описания отношений и элементов множеств, на которых определяется [[граф]], и "добавляет" к этим лишенным всяких геометрических атрибутов описаниям дополнительную [[информация|информацию]], позволяющую "нарисовать" картинку [[граф]]а.
 
Программа  принимает описания отношений и элементов множеств, на которых определяется [[граф]], и "добавляет" к этим лишенным всяких геометрических атрибутов описаниям дополнительную [[информация|информацию]], позволяющую "нарисовать" картинку [[граф]]а.
  
Строка 11: Строка 15:
 
<nowiki><graphviz>
 
<nowiki><graphviz>
 
digraph G {
 
digraph G {
Привет ->  Читатель ;
+
A ->  B ;
 
}
 
}
 
</graphviz></nowiki>
 
</graphviz></nowiki>
 
===== Специально для проекта Моя семья =====
 
 
Для того, чтобы создать генеалогическое древо семьи в Летописи, нам потребуется пакет Графвиз и простые команды указания '''->'''. В дальнейших записях отношения '''А ->Б''' всегда означает, что А является родителем Б. Поскольку у людей родителей может быть двое, то мы эти родительские
 
отношения будем снабжать метками -  [label="папа"] или [label="мама"]
 
 
digraph G {
 
//1 - Запишем участника ;
 
"Участник:Аксюта Герман"
 
// Запишем нового родственника и укажем, что он папа Участника
 
"Аксюта Владислав Николаевич" -> "Участник:Аксюта Герман" [label="папа"] ;
 
  // Запишем нового родственника и укажем, что она мама Участника
 
"Аксюта Людмила Сергеевна"  -> "Участник:Аксюта Герман" [label="мама"];
 
// Запишем нового родственника и укажем, что он папа  папы
 
"Аксюта Николай Николаевич" -> "Аксюта Владислав Николаевич" [label="папа"];
 
  }
 
 
Результат этих простых отношений пакет графвиз представит на следующем рисунке. В дальнейшем мы можем просто тихонечко наращивать это дерево. О том, как можно поворачивать деревья, окрашивать их в разные цвета, управлять их размерами и формами - смотрите и спрашивайте на страничке [[Графвиз руководство]]
 
  
  
 
<graphviz>
 
<graphviz>
 
digraph G {
 
digraph G {
node [fontsize=14, shape="none"]
+
rankdir = LR ;
"Участник:Аксюта Герман"
+
A ->  B ;
"Аксюта Владислав Николаевич000" -> "Участник:Аксюта Герман" [label="папа"] ;
+
"Аксюта Людмила Сергеевна" -> "Участник:Аксюта Герман" [label="мама"];
+
"Аксюта Николай Николаевич" -> "Аксюта Владислав Николаевич" [label="папа"];
+
 
}
 
}
 
</graphviz>
 
</graphviz>
  
<graphviz>
+
В [[:Категория:Графвиз|категории Графвиз]] собрано множество примеров грофов, созданных при помощи средства графвиз. Прежде чем прочитать [[Графвиз руководство]], посмотрите на впечатляющие примеры.
digraph "DotFileParser" {
+
Важно понять, что графвиз позволяет не задумываться над тем, как распределять узлы на рабочем поле - программа сама это сделает за вас.
    size="12.8,10.24";
+
    "node0" [ label="BOF" shape=ellipse ];
+
    "node1" [ label="EOF" shape=ellipse ];
+
    "node2" [ label="graphName" shape=ellipse ];
+
    "node3" [ label="{" shape=ellipse ];
+
    "node4" [ label="stmtList" shape=ellipse ];
+
    "node5" [ label="graphAttrib" shape=ellipse ];
+
    "node6" [ label="node" shape=ellipse ];
+
    "node7" [ label="edge" shape=ellipse ];
+
    "node8" [ label="}" shape=ellipse ];
+
    "node9" [ label="nodeName" shape=ellipse ];
+
    "node10" [ label="edgePair" shape=ellipse ];
+
    "node11" [ label="nodeList" shape=ellipse ];
+
    "node12" [ label="edgeList" shape=ellipse ];
+
    "node13" [ label="nodeAttrib" shape=ellipse ];
+
    "node14" [ label="edgeAttrib" shape=ellipse ];
+
    "node0" -> "node1" [ color=black fontcolor=black label="Empty file" ];
+
    "node0" -> "node2" [ color=black ];
+
    "node2" -> "node3" [ color=black ];
+
    "node3" -> "node4" [ color=black ];
+
    "node4" -> "node5" [ color=black ];
+
    "node5" -> "node4" [ color=black ];
+
    "node4" -> "node6" [ color=black ];
+
    "node4" -> "node7" [ color=black ];
+
    "node4" -> "node3" [ color=black fontcolor=black label="subGraph" ];
+
    "node4" -> "node8" [ color=black ];
+
    "node8" -> "node4" [ color=black ];
+
    "node8" -> "node1" [ color=black ];
+
    "node6" -> "node9" [ color=black ];
+
    "node7" -> "node10" [ color=black ];
+
    "node9" -> "node11" [ color=black fontcolor=black label="[" ];
+
    "node9" -> "node4" [ color=black ];
+
    "node10" -> "node12" [ color=black fontcolor=black label="[" ];
+
    "node10" -> "node4" [ color=black ];
+
    "node11" -> "node4" [ color=black fontcolor=black label="]" ];
+
    "node12" -> "node4" [ color=black fontcolor=black label="]" ];
+
    "node11" -> "node13" [ color=black ];
+
    "node13" -> "node11" [ color=black ];
+
    "node12" -> "node14" [ color=black ];
+
    "node14" -> "node12" [ color=black ];
+
}
+
</graphviz>
+
  
----
+
{{#ask: [[Примеры различных ссылок, граф]] | format = embedded }}
  
См. [[Графвиз руководство]], [[Графвиз примеры]], [[Графвиз установка]]
+
Важное свойство графвиз - поскольку в вики мы можем редактировать текст графа, то мы можем в одном графе объединять то, что сделали несколько участников. Например, следующий граф собран из нескольких диаграмм сетей участников
  
[[Категория:Расширения МедиаВики]]
 
  
[[Категория:Средство]]
+
{{#ask: [[Коллективная диаграмма семей]] | format = embedded }}
  
[[Категория:Графический пакет]]
 
  
[[Категория:Графика]]
+
Мы можем создавать различные виды схем:
 +
 
 +
{{#ask: [[WikiVote/Scheme]]  | format = embedded }}
 +
 
 +
{{#ask: [[Учащийся город/Схема]]  | format = embedded }}
 +
 
 +
 
 +
----
 +
* [[Графвиз установка]] - как установить на собственной машине
 +
* [[Grapviz Webgraphviz]] - как использовать облачные версии graphviz
 +
 
 +
 
 +
----
 +
[[Категория:Расширения МедиаВики]]
 +
[[Категория:Графический пакет]]
 +
[[Категория:Графвиз]]
 +
[[Category:GraphViz]]

Версия 08:22, 19 октября 2020

Содержание

Описание

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

Для использования Графвиз требуется использовать примитивный язык описания графов dgl. Основные понятия:

  • граф,
  • вершина графа -- элемент множества,
  • ребро графа, соединяющее вершину N с вершиной M


<graphviz> digraph G { A -> B ; } </graphviz>


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

Примеры различных ссылок, граф

Рабочий пример графвиза - стоит обратить внимание на ссылки узла на самого себя. И еще важно:

  • ratio=compress;

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


Коллективная диаграмма семей

В этой статье обсуждаются возможности коллективного конструирование диаграмм связей внутри сети Летописи. Это пример трансклюзии, когда в качество строительных кирпичиков используют не статьи для составной страницы, а графы семей, для создания общей карты летописцев. В качестве строительных блоков использованы статьи из категорий Категория:Моя семья и Категория:Графвиз.


Мы можем создавать различные виды схем:

WikiVote/Scheme


English

Рус

Учащийся город/Схема





Персональные инструменты
Инструменты