+ All Categories
Home > Documents > Graphiz - Using the DOT Language

Graphiz - Using the DOT Language

Date post: 21-Jan-2015
Category:
Upload: albazo
View: 1,957 times
Download: 5 times
Share this document with a friend
Description:
Eine kurze Präsentation der DOT Language und des graphviz-Tools.DOT ist eine Markupsprache zu Beschreibung gerichteter und ungerichteter Graphen.Die Präsentation wurde im Sommer 2010 im Rahmen eines Kurses "Informationssysteme" an der Universität Regensburg gehalten. Thema war die Visualisierung von Information.
Popular Tags:
28
Graphviz Graph Visualization Software für die DOT Auszeichnungssprache
Transcript
Page 1: Graphiz - Using the DOT Language

GraphvizGraph Visualization Software für die DOT Auszeichnungssprache

Page 2: Graphiz - Using the DOT Language

Graphviz und die DOT Language

Sprachelemente und Anwendung der DOT Language

– Graphen– Syntax– Anwendungsmöglichkeiten

Graphviz

– Installation– Tools– Anwendungsbeispiele

Page 3: Graphiz - Using the DOT Language

DOT Language

Page 4: Graphiz - Using the DOT Language

DOT is a plain text graph description language. It is a simple way of describing graphs that both humans and computer

programs can use.

[wikipedia:http://en.wikipedia.org/wiki/DOT_language]

Page 5: Graphiz - Using the DOT Language

DOT Language – Gerichtete und Ungerichtete Graphen

Graphen bestehen aus einer Menge von Punkten (Knoten) die durch Linien (Kanten) miteinander verbunden sind.

Bei Ungerichtete Graphen verbinden die Kanten die Punkte untereinander.

Bei Gerichteten Graphen zeigen die Kanten außerdem die Richtung der Verbindung zwischen den Knoten an.

Page 6: Graphiz - Using the DOT Language

DOT Language – Syntax

graph graphname {

a -- b -- c;

b -- d;

}

Page 7: Graphiz - Using the DOT Language

DOT Language – Grammatik (1)[http://www.graphviz.org/doc/info/lang.html]

EBNF Notation

graph: [ strict ] (graph | digraph) [ ID ] '{' stmt_list '}'

stmt_list: [ stmt [ ';' ] [ stmt_list ] ]

Stmt: | node_stmt | edge_stmt | attr_stmt | ID '=' ID | subgraph

Page 8: Graphiz - Using the DOT Language

DOT Language – Grammatik (2)[http://www.graphviz.org/doc/info/lang.html]

attr_stmt: (graph | node | edge) attr_list

attr_list: '[' [ a_list ] ']' [ attr_list ]

a_list: ID [ '=' ID ] [ ',' ] [ a_list ]

edge_stmt: (node_id | subgraph) edgeRHS [ attr_list ]

EdgeRHS: edgeop (node_id | subgraph) [ edgeRHS ]

node_stmt: node_id [ attr_list ]

Page 9: Graphiz - Using the DOT Language

DOT Language – Grammatik (3)[http://www.graphviz.org/doc/info/lang.html]

node_id: ID [ port ]

Port: ':' ID [ ':' compass_pt ] | ':' compass_pt

subgraph: [ subgraph [ ID ] ] '{' stmt_list '}'

compass_pt: (n | ne | e | se | s | sw | w | nw | c | _)

Page 10: Graphiz - Using the DOT Language

DOT Language – Attribute[http://www.graphviz.org/doc/info/attrs.html]

Zur Spezifizierung des auszugebenden Layouts existieren zahlreiche Attribute.

Attribute Layout Beispiel

style

shape

rankdir

label

color

Aussehen von Kanten und Knoten

Form der Knoten

Orientierung des Graphen

Beschriftungen an Kanten

Farben

style=bold

shabe=box

rankdir=TB

label=“Hello World“

color=lightgrey

Page 11: Graphiz - Using the DOT Language

DOT Language – Beispiel (1)

graph gInfosysteme {

node [style=unfilled style=bold]

rankdir=LR;

Informationssysteme;

Page 12: Graphiz - Using the DOT Language

DOT Language – Beispiel (2)

subgraph gInformationssyteme {

node [shape=doubleoctagon style=filled fillcolor=gray90] Informationssysteme -- Themen; Informationssysteme -- Anforderungen; Informationssysteme -- Dozent;

}

Page 13: Graphiz - Using the DOT Language

DOT Language – Beispiel (3)

subgraph gAnforderungen {

node [shape=box style=filled fillcolor=gray96]

Anforderungen -- Klausur; Anforderungen -- Referat;

subgraph gReferat { node [shape=plaintext style=unfilled] Referat -- "90 Minuten"; Referat -- Gruppenarbeit; }

}

Page 14: Graphiz - Using the DOT Language

DOT Language – Beispiel (4)

subgraph gDozent {

node [shape=box style=filled fillcolor=gray96] Dozent -- "Jürgen Reischer"; subgraph gJReischer { node [shape=plaintext style=unfilled] "Jürgen Reischer" -- Sprechstunde; "Jürgen Reischer" -- Büro; Sprechstunde -- "Do. 11.00 bis 12.00 Uhr"; Büro -- "PT 3.0.68"; }}

}

Page 15: Graphiz - Using the DOT Language

DOT Language – Beispiel (5)

Page 16: Graphiz - Using the DOT Language

Graphviz

Page 17: Graphiz - Using the DOT Language

Graphviz (short for Graph Visualization Software) is a package of open source tools initiated by AT&T Research

Labs for drawing graphs specified in DOT language scripts

[wikipedia:http://en.wikipedia.org/wiki/Graphviz]

Page 18: Graphiz - Using the DOT Language

Graphviz - Graph Visualization Software

Open Source Visualization Software– Entwickelt vom AT&T Research Lab– CPL 1.0– Versionen für Windows, Mac und diverse Linux

Systeme– Language Bindings: Java, C#, Ruby, Perl, ...

Programmpaket– Layoutprogramme– Viewer

Page 19: Graphiz - Using the DOT Language

Graphviz – Download, Installation, Anwendung

Download von der Projektseite www.graphviz.org

Installation per *.msi Datei (Windows) oder Paketmanager (Unix-Systeme)

Bedienung über Kommandozeile oder optionales GUI

Page 20: Graphiz - Using the DOT Language

Graphviz – Layoutprogramme[http://en.wikipedia.org/wiki/Graphviz]

Programm Ausgabe

dot

neato oder fdp

twopi

circo

Hierarchisches Layout

„Spring Model“ Layout

Radiales Layout

Circuläres Layout

Page 21: Graphiz - Using the DOT Language

Graphviz - Ausgabeformate

Option Ausgabeformat

-Tps

-Tsvg

-Tpng oder -Tgif oder -Tjpg

-Tdia

Postscript

SVG (Vektorgraphik)

Bitmapformate

DIA

Page 22: Graphiz - Using the DOT Language

Graphviz - Programmaufruf

Programm -TAusgabeformat Quelldatei -o Ausgabedatei

Page 23: Graphiz - Using the DOT Language

Graphviz - Ausgabe: dot

Page 24: Graphiz - Using the DOT Language

Graphviz – Ausgabe: fdp

Page 25: Graphiz - Using the DOT Language

Graphviz – Ausgabe: circo

Page 26: Graphiz - Using the DOT Language

Graphviz – Ausgabe: twopi

Page 27: Graphiz - Using the DOT Language

Graphviz - Anwendungsbeispiel

Darstellung von Verbindungen innerhalb eines Social Network

(1) Graph repräsentiert die Verbindungen zwischen Mitgliedern des Netzwerks

(2) Mitglieder haben eine zufällige Anzahl Freunde

(3) Freunde sind ebenfalls Mitglieder

(4) Knoten repräsentieren die Mitglieder, Kanten die Verbindungen

Page 28: Graphiz - Using the DOT Language

Quellen

DOT-Language[http://www.graphviz.org/doc/info/lang.html] Letzter Zugriff am 03.06.2010[http://www.graphviz.org/doc/info/attrs.html] Letzter Zugriff am 03.06.2010[http://en.wikipedia.org/wiki/DOT_language] Letzter Zugriff am 03.06.2010

Graphviz[http://www.graphviz.org/] Letzter Zugriff am 03.06.2010[http://en.wikipedia.org/wiki/Graphviz] Letzter Zugriff am 03.06.2010


Recommended