Графвиз

Материал из Letopisi.Ru — «Время вернуться домой»
(Различия между версиями)
Перейти к: навигация, поиск
(Описание)
(не показаны 8 промежуточных версий 1 участника)
Строка 1: Строка 1:
'''Графвиз''' - набор утилит для графического представления данных.  
+
<youtube v="gXjU1DSsxm4" />
 +
 
 +
== Описание ==
 +
 
 +
[[Графвиз]] - набор утилит для графического представления данных.  
 
Программа  принимает описания отношений и элементов множеств, на которых определяется [[граф]], и "добавляет" к этим лишенным всяких геометрических атрибутов описаниям дополнительную [[информация|информацию]], позволяющую "нарисовать" картинку [[граф]]а.
 
Программа  принимает описания отношений и элементов множеств, на которых определяется [[граф]], и "добавляет" к этим лишенным всяких геометрических атрибутов описаниям дополнительную [[информация|информацию]], позволяющую "нарисовать" картинку [[граф]]а.
  
Строка 11: Строка 15:
 
<nowiki><graphviz>
 
<nowiki><graphviz>
 
digraph G {
 
digraph G {
Привет ->  Читатель ;
+
A ->  B ;
 
}
 
}
 
</graphviz></nowiki>
 
</graphviz></nowiki>
 
 
[[Графвиз/для проекта Моя семья]]
 
  
  
 
<graphviz>
 
<graphviz>
digraph "DotFileParser" {
+
digraph G {
    size="12.8,10.24";
+
rankdir = LR ;
    "node0" [ label="BOF" shape=ellipse ];
+
A -> B ;
    "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>
 
</graphviz>
  
=== Новые возможности Render ===
+
В [[:Категория:Графвиз|категории Графвиз]] собрано множество примеров грофов, созданных при помощи средства графвиз. Прежде чем прочитать [[Графвиз руководство]], посмотрите на впечатляющие примеры.
Новая версия GraphViz Extension позволяет использовать '''renderer'''
+
Важно понять, что графвиз позволяет не задумываться над тем, как распределять узлы на рабочем поле - программа сама это сделает за вас.
* renderer='dot'
+
* renderer='twopi'
+
* renderer='neato'
+
* renderer='twopi'
+
* renderer='sfdp'
+
* renderer='circo'
+
  
==== DOT ====
+
{{#ask: [[Примеры различных ссылок, граф]] | format = embedded }}
<graphviz renderer='dot'  >
+
graph F {
+
rankdir=LR ;
+
A -- B -- C -- D -- F;
+
F -- C -- A ;
+
C -- E ;
+
}
+
</graphviz>
+
  
==== twopi ====
+
Важное свойство графвиз - поскольку в вики мы можем редактировать текст графа, то мы можем в одном графе объединять то, что сделали несколько участников. Например, следующий граф собран из нескольких диаграмм сетей участников
<graphviz>
+
graph T {
+
rankdir=LR ;
+
layout="twopi" ;
+
A -- B -- C -- D -- F;
+
F -- C -- A ;
+
C -- E
+
}
+
</graphviz>
+
  
==== NEATO ====
 
Метод «neato» использует «энергетическую» (spring) модель, по сути, близкую к методу искуственного отжига — начиная с некоторого состояния вершины перемещаются, чтобы минимизировать некую потенциальную энергию. Рекомендуем для ненаправленных графов общего вида.
 
  
<graphviz renderer='neato'>
+
{{#ask: [[Коллективная диаграмма семей]]  | format = embedded }}
graph N {
+
rankdir=LR ;
+
A -- B -- C -- D -- F;
+
F -- C -- A ;
+
}
+
</graphviz>
+
  
Обратить внимание - [[NetLogo]] layout - spring http://ccl.northwestern.edu/netlogo/docs/dict/layout-spring.html
 
  
==== CIRCO ====
+
Мы можем создавать различные виды схем:
<graphviz renderer='circo'>
+
graph C {
+
rankdir=LR ;
+
A -- B -- C -- D -- F;
+
F -- C -- A ;
+
}
+
</graphviz>
+
----
+
  
См.
+
{{#ask: [[WikiVote/Scheme]] | format = embedded }}
* [[Графвиз руководство]],
+
* [[Графвиз примеры]],
+
* [[Графвиз установка]]
+
* [[Grapviz Webgraphviz]]
+
  
 +
{{#ask: [[Учащийся город/Схема]]  | format = embedded }}
  
  
[[Категория:Расширения МедиаВики]]
+
----
 +
* [[Графвиз установка]] - как установить на собственной машине
 +
* [[Grapviz Webgraphviz]] - как использовать облачные версии graphviz
  
  
 +
----
 +
[[Категория:Расширения МедиаВики]]
 
[[Категория:Графический пакет]]
 
[[Категория:Графический пакет]]
 
 
[[Категория:Графвиз]]
 
[[Категория:Графвиз]]
 
 
[[Category:GraphViz]]
 
[[Category:GraphViz]]

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

Содержание

Описание

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

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

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


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


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

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

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

  • ratio=compress;

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


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

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


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

WikiVote/Scheme


English

Рус

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





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