SlideShare ist ein Scribd-Unternehmen logo
Graphviz
Graph Visualization Software für die
DOT Auszeichnungssprache
Graphviz und die DOT Language

Sprachelemente und Anwendung der DOT Language

      – Graphen
       – Syntax
        – Anwendungsmöglichkeiten

Graphviz

      – Installation
       – Tools
        – Anwendungsbeispiele
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]
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.
DOT Language – Syntax



graph graphname {
    a -- b -- c;
    b -- d;
}
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
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 ]
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 | _)
DOT Language – Attribute
          [http://www.graphviz.org/doc/info/attrs.html]
          Zur Spezifizierung des auszugebenden Layouts existieren zahlreiche
             Attribute.

  Attribute                      Layout                     Beispiel
style          Aussehen von Kanten und Knoten
                                                     style=bold
shape          Form der Knoten

rankdir        Orientierung des Graphen              shabe=box
label          Beschriftungen an Kanten
                                                     rankdir=TB
color          Farben
                                                     label=“Hello
DOT Language – Beispiel (1)

graph gInfosysteme {

  node [style=unfilled style=bold]

  rankdir=LR;

  Informationssysteme;
DOT Language – Beispiel (2)

subgraph gInformationssyteme {

    node [shape=doubleoctagon style=filled fillcolor=gray90]

    Informationssysteme -- Themen;
    Informationssysteme -- Anforderungen;
    Informationssysteme -- Dozent;

}
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;
    }

}
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";
                }
}

}
DOT Language – Beispiel (5)
Graphviz
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]
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
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
Graphviz – Layoutprogramme
        [http://en.wikipedia.org/wiki/Graphviz]

           Programm                           Ausgabe

dot                               Hierarchisches Layout

neato oder fdp                    „Spring Model“ Layout

twopi                             Radiales Layout

circo                             Circuläres Layout
Graphviz - Ausgabeformate


        Option                  Ausgabeformat

-Tps                    Postscript

-Tsvg                   SVG (Vektorgraphik)

-Tpng oder -Tgif oder   Bitmapformate
-Tjpg
                        DIA
-Tdia
Graphviz - Programmaufruf

Programm -TAusgabeformat Quelldatei -o Ausgabedatei
Graphviz - Ausgabe: dot
Graphviz – Ausgabe: fdp
Graphviz – Ausgabe: circo
Graphviz – Ausgabe: twopi
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
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

Weitere ähnliche Inhalte

Andere mochten auch

GADTs Einführung
GADTs EinführungGADTs Einführung
GADTs Einführung
smu42
 
Mutualisation des actions OT et de l ANT en Centre Ardeche
Mutualisation des actions OT et de l ANT en Centre ArdecheMutualisation des actions OT et de l ANT en Centre Ardeche
Mutualisation des actions OT et de l ANT en Centre ArdecheArdèche Plein Coeur
 
Smartwatch para invidentes dot
Smartwatch para invidentes dotSmartwatch para invidentes dot
Smartwatch para invidentes dot
Liboo19
 
Skal et godt intranet koste en million?
Skal et godt intranet koste en million?Skal et godt intranet koste en million?
Skal et godt intranet koste en million?
Bysted
 
Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen PersonalwirtschaftHuman Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Reinhard Austrup & Associates
 
Tutorial prezi
Tutorial preziTutorial prezi
Tutorial prezi
Natanael Souza
 
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
Tchelinux
 
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...b7008778
 
English dot worws level 1
English dot worws level 1English dot worws level 1
English dot worws level 1
mafesita2
 
Tag der offenen Tür - zeit.areal
Tag der offenen Tür - zeit.arealTag der offenen Tür - zeit.areal
Tag der offenen Tür - zeit.areal
zeit.areal (Areal Industriehof GmbH & Co. KG)
 
Lecture 8.2- Lewis Dot Structures for Molecules
Lecture 8.2- Lewis Dot Structures for MoleculesLecture 8.2- Lewis Dot Structures for Molecules
Lecture 8.2- Lewis Dot Structures for Molecules
Mary Beth Smith
 

Andere mochten auch (14)

Missouri dot doc
Missouri dot docMissouri dot doc
Missouri dot doc
 
GADTs Einführung
GADTs EinführungGADTs Einführung
GADTs Einführung
 
Mutualisation des actions OT et de l ANT en Centre Ardeche
Mutualisation des actions OT et de l ANT en Centre ArdecheMutualisation des actions OT et de l ANT en Centre Ardeche
Mutualisation des actions OT et de l ANT en Centre Ardeche
 
Smartwatch para invidentes dot
Smartwatch para invidentes dotSmartwatch para invidentes dot
Smartwatch para invidentes dot
 
Skal et godt intranet koste en million?
Skal et godt intranet koste en million?Skal et godt intranet koste en million?
Skal et godt intranet koste en million?
 
Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen PersonalwirtschaftHuman Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
 
New mexico dot doc
New mexico dot docNew mexico dot doc
New mexico dot doc
 
Tutorial prezi
Tutorial preziTutorial prezi
Tutorial prezi
 
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
Das cavernas à Internet: Conhecimento Livre e Sobrevivência Humana - Carlos A...
 
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...
Ceip morrot 3 en martí, el despitat amb l'electricitat. roger dot, lluís pujo...
 
English dot worws level 1
English dot worws level 1English dot worws level 1
English dot worws level 1
 
Tag der offenen Tür - zeit.areal
Tag der offenen Tür - zeit.arealTag der offenen Tür - zeit.areal
Tag der offenen Tür - zeit.areal
 
Lecture 8.2- Lewis Dot Structures for Molecules
Lecture 8.2- Lewis Dot Structures for MoleculesLecture 8.2- Lewis Dot Structures for Molecules
Lecture 8.2- Lewis Dot Structures for Molecules
 
Dot dot-seurat
Dot dot-seuratDot dot-seurat
Dot dot-seurat
 

Ähnlich wie Graphiz - Using the DOT Language

BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
Robin Sedlaczek
 
Daten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jDaten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jPatrick Baumgartner
 
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin GrauelOSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
NETWAYS
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
Ulrich Krause
 
C Sharp Einfuehrung Teil 1
C Sharp Einfuehrung Teil 1C Sharp Einfuehrung Teil 1
C Sharp Einfuehrung Teil 1
DraphonyGames
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
Ulrich Krause
 
Entwicklercamp responive web design
Entwicklercamp   responive web designEntwicklercamp   responive web design
Entwicklercamp responive web designHenning Schmidt
 
Nicolai Schwarz Barrierefreiheit
Nicolai Schwarz BarrierefreiheitNicolai Schwarz Barrierefreiheit
Nicolai Schwarz Barrierefreiheit
Nicolai Schwarz
 
Der C++ Standard
Der C++ StandardDer C++ Standard
Der C++ Standardtutego
 
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-EntwicklungVielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Benjamin Schmid
 
PDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für LangzeitarchivierungPDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für Langzeitarchivierung
Gaun IT-Solutions e.U.
 
Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.
Frank Müller
 
SciflowWriter
SciflowWriterSciflowWriter
SciflowWriter
Michael Sievers
 

Ähnlich wie Graphiz - Using the DOT Language (14)

BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
 
Daten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jDaten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4j
 
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin GrauelOSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
OSMC 2010 | Logverarbeitung mit syslog-ng - Status und Zukunft by Martin Grauel
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Ruby on Rails SS09 04
Ruby on Rails SS09 04Ruby on Rails SS09 04
Ruby on Rails SS09 04
 
C Sharp Einfuehrung Teil 1
C Sharp Einfuehrung Teil 1C Sharp Einfuehrung Teil 1
C Sharp Einfuehrung Teil 1
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Entwicklercamp responive web design
Entwicklercamp   responive web designEntwicklercamp   responive web design
Entwicklercamp responive web design
 
Nicolai Schwarz Barrierefreiheit
Nicolai Schwarz BarrierefreiheitNicolai Schwarz Barrierefreiheit
Nicolai Schwarz Barrierefreiheit
 
Der C++ Standard
Der C++ StandardDer C++ Standard
Der C++ Standard
 
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-EntwicklungVielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
 
PDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für LangzeitarchivierungPDF und PDF/A für Langzeitarchivierung
PDF und PDF/A für Langzeitarchivierung
 
Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.Google Go - Good artists borrow, great artists steal.
Google Go - Good artists borrow, great artists steal.
 
SciflowWriter
SciflowWriterSciflowWriter
SciflowWriter
 

Graphiz - Using the DOT Language

  • 1. Graphviz Graph Visualization Software für die DOT Auszeichnungssprache
  • 2. Graphviz und die DOT Language Sprachelemente und Anwendung der DOT Language – Graphen – Syntax – Anwendungsmöglichkeiten Graphviz – Installation – Tools – Anwendungsbeispiele
  • 4. 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]
  • 5. 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.
  • 6. DOT Language – Syntax graph graphname { a -- b -- c; b -- d; }
  • 7. 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
  • 8. 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 ]
  • 9. 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 | _)
  • 10. DOT Language – Attribute [http://www.graphviz.org/doc/info/attrs.html] Zur Spezifizierung des auszugebenden Layouts existieren zahlreiche Attribute. Attribute Layout Beispiel style Aussehen von Kanten und Knoten style=bold shape Form der Knoten rankdir Orientierung des Graphen shabe=box label Beschriftungen an Kanten rankdir=TB color Farben label=“Hello
  • 11. DOT Language – Beispiel (1) graph gInfosysteme { node [style=unfilled style=bold] rankdir=LR; Informationssysteme;
  • 12. DOT Language – Beispiel (2) subgraph gInformationssyteme { node [shape=doubleoctagon style=filled fillcolor=gray90] Informationssysteme -- Themen; Informationssysteme -- Anforderungen; Informationssysteme -- Dozent; }
  • 13. 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; } }
  • 14. 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"; } } }
  • 15. DOT Language – Beispiel (5)
  • 17. 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]
  • 18. 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
  • 19. 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
  • 20. Graphviz – Layoutprogramme [http://en.wikipedia.org/wiki/Graphviz] Programm Ausgabe dot Hierarchisches Layout neato oder fdp „Spring Model“ Layout twopi Radiales Layout circo Circuläres Layout
  • 21. Graphviz - Ausgabeformate Option Ausgabeformat -Tps Postscript -Tsvg SVG (Vektorgraphik) -Tpng oder -Tgif oder Bitmapformate -Tjpg DIA -Tdia
  • 22. Graphviz - Programmaufruf Programm -TAusgabeformat Quelldatei -o Ausgabedatei
  • 27. 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
  • 28. 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