Zum Inhalt springen

DOT (Graphviz)

aus Wikipedia, der freien Enzyklopädie

DOT ist eine einfach gehaltene, aber mächtige Beschreibungssprache für die visuelle Darstellung von Graphen. Mit DOT lässt sich die Struktur eines Graphen beschreiben. Außerdem besitzt DOT auch Sprachelemente, um die Visualisierung eines Graphen zu steuern. Zum Beispiel lassen sich Form und Farbe der Knoten und der Kanten festlegen.

Interpretiert wird DOT zum Beispiel von den Renderern des Graphviz-Softwarepaketes. Je nachdem, welchen Renderer man für einen mit DOT beschriebenen Graphen verwendet, sieht das Ergebnis unterschiedlich aus. Jeder Renderer realisiert ein anderes Grundprinzip für die Visualisierung. Graphviz stellt fünf Renderer zur Verfügung: dot, neato, fdp, twopi und circo.

Mit der statistischen Programmiersprache R und dem Paket DiagrammeR<ref>{{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:Richard Iannone u. a.|Richard Iannone u. a.: }}{{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C{{#if:R-Paket DiagrammeR|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1=https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=R-Paket DiagrammeR}}]{{#if:| ({{{format}}})}}{{#if:Create Graph Diagrams and Flowcharts Using R| Create Graph Diagrams and Flowcharts Using R{{#invoke:Vorlage:Internetquelle|Endpunkt|titel=Create Graph Diagrams and Flowcharts Using R}}}}}}|{{#if:https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=R-Paket DiagrammeR}}}}|[{{#invoke:URLutil|getNormalized|1=https://cran.r-project.org/web/packages/DiagrammeR/index.html}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=R-Paket DiagrammeR}}}}]}}{{#if:| ({{{format}}}{{#if:Create Graph Diagrams and Flowcharts Using R1CRANThe R Foundationhttps://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}aktuelle Version: 0.8.4| ; 
              | )}}}}}}{{#if:Create Graph Diagrams and Flowcharts Using R| Create Graph Diagrams and Flowcharts Using R{{#invoke:Vorlage:Internetquelle|Endpunkt|titel=Create Graph Diagrams and Flowcharts Using R}}}}}}}}{{#if:https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://cran.r-project.org/web/packages/DiagrammeR/index.html}}%7C%7C}}}}{{#if:R-Paket DiagrammeR|{{#if:{{#invoke:WLink|isValidLinktext|1=R-Paket DiagrammeR|lines=0}}||}}}}{{#if: CRAN| In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=CRAN}}}}{{#if: The R Foundation| The R Foundation{{#if: https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C,%7C{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | {{#if:{{#invoke:DateTime|format||noerror=1}}
            |{{#invoke:DateTime|format||T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=|class=Zitationswartung}} }}{{#if: https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C,%7C{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C,%7C{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C+{{#if:The R Foundation|{{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7Carchiviert%7Cehemals}}%7C{{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7CArchiviert%7CEhemals}}}}+{{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7Cvom%7Cim}}+Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|1}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:1064857||(?)}}}}}}{{#if: 2016-07-19|;}}}}{{#if: 2016-07-19| {{#if:The R Foundationhttps://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html{{#invoke:TemplUtl%7Cfaculty%7C1}}%7Cabgerufen%7CAbgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2016-07-19 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2016-07-19|class=Zitationswartung}} }} {{#invoke:DateTime|format|2016-07-19|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}aktuelle Version: 0.8.4|{{#if:Create Graph Diagrams and Flowcharts Using R1CRANThe R Foundationhttps://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: aktuelle Version: 0.8.4|{{#ifeq:{{#if:en|en|de}}|de||, }}aktuelle Version: 0.8.4}})}}{{#if: https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html{{#if: 2016-07-19 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}enaktuelle Version: 0.8.4|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|1}}|{{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7C%7C{{#ifeq: 1 | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
       | {{#if:  | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
      | {{#if:{{#invoke:URLutil|isWebURL|https://cran.r-project.org/web/packages/DiagrammeR/index.html}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://cran.r-project.org/web/packages/DiagrammeR/index.html Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
       | {{#if:{{#invoke:URLutil|isWebURL|https://cran.r-project.org/web/packages/DiagrammeR/index.html}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://cran.r-project.org/web/packages/DiagrammeR/index.html }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
       | {{#if:  | [2] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
      | {{#if:{{#invoke:URLutil|isWebURL|https://cran.r-project.org/web/packages/DiagrammeR/index.html}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://cran.r-project.org/web/packages/DiagrammeR/index.html Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://cran.r-project.org/web/packages/DiagrammeR/index.html
       | {{#if:{{#invoke:URLutil|isWebURL|https://cran.r-project.org/web/packages/DiagrammeR/index.html}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://cran.r-project.org/web/packages/DiagrammeR/index.html }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:https://web.archive.org/web/20170714194811/https://cran.r-project.org/web/packages/DiagrammeR/index.html%7CVorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref> lassen sich ebenfalls Grafiken erzeugen, die in der DOT-Sprache geschrieben sind.

DOT wurde von AT&T und den Bell-Labs entwickelt. Der Wortschatz von DOT ist relativ klein. Syntaktisch lehnt sich DOT an die Programmiersprache C an.

Beispiel

Datei:DotLanguageDirected.svg
Der dazugehörige Graph

Das folgende Beispiel stellt einen gerichteten Graphen mit vier Knoten und drei Kanten dar. Die Knoten und die Kantenbeziehungen werden innerhalb geschweifter Klammern aufgeführt. Gerichtete Kanten zwischen den Knoten werden durch Pfeile -> dargestellt.

<syntaxhighlight lang="dot">

digraph graphname
{
    a -> b -> c;
    b -> d;
}

</syntaxhighlight>

Umwandlung zu PNG

Eine DOT-Datei kann leicht in ein PNG-Bild konvertiert werden. <syntaxhighlight lang="bash"> dot -Tpng input.dot > output.png </syntaxhighlight>

Rasterung

Datei:Huffman (To be or not to be).svg
Binärbaum aus einer DOT Beschreibung, in Graphviz gestaltet (Huffmanbaum Generator)

Die folgenden Rasterungsprogramme können DOT rendern:

Andere Dateiformate für Graphen

  • GraphML – XML-basierte Beschreibungssprache für die Repräsentation von Graphen

Weblinks

Einzelnachweise

<references />