DOT

DOT je značkovací jazyk pro textovou definici grafů a jejich zobrazení. Umožňuje definovat například barvu vrcholů a hran. Je používán zejména nástroji ze sady Graphviz, které z něj umí vytvořit obrázky grafů v běžných formátech jako je SVG a PDF, ale jeho podpora je širší. Vznikl ve Bellových laboratořích a AT&T. Jeho syntaxe je založena na céčku a je poměrně chudá. Například přímo v definici grafu lze jen velmi omezeně ovlivnit, jakým způsobem budou ve výsledném grafu rozmístěny jednotlivé uzly. V případě využití Graphvizu nabízí pro složitější grafy každý ze šesti nabízených nástrojů výrazně odlišný výsledek.[1]

Konkurenčním formátem pro definici grafů je GraphML založený na standardu Extensible Markup Language.

Příklady

Neorientovaný graf

Příklad neorientovaného grafu

Příkladem definice neorientovaného grafu je následující zdrojový kód:

// jmeno a stredniky jsou nepovinne
graph jmeno {
    a -- b -- c;
    b -- d;
}

Výsledek zobrazení takto definovaného grafu programem ze souboru Graphviz je na obrázku vpravo. Jak je z ukázky zřejmé, pro vyjádření hrany je používána dvojice spojovníků.

Úprava zobrazení

Ukázka možností nastavení zobrazení grafu

Jak je patrné z následujícího příkladu, je možné nastavit i tvar vrcholů, způsob vykreslování hran (například tečkovanou čarou) a také barvy jednotlivých částí grafu.

graph grafik {
    // Vlastnost grafu
    size="1,1";
    // "label" mění popisek vrcholu
    a [label="Foo"];
    // "shape" mění tvar vrcholu
    b [shape=box];
    // vlastnosti lze nastavit i u hran
    a -- b -- c [color=blue];
    b -- d [style=dotted];
}

Mezi další, v tomto příkladu neilustrované možnosti, například patří využívání různých znaků Unicode a entit HTML v rámci popisků vrcholů a hran.[2]

Orientovaný graf

Příklad orientovaného grafu

Jak plyne z následujícího příkladu, v orientovaných grafech se pro označení hrany používá spojovník s většítkem:

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

Softwarová podpora

Hlavním softwarem podporujícím jazyk DOT je soubor nástrojů Graphviz, který umí z daných definic vytvořit obrazy ve formátu SVG, PDF, PNG a jiných. V rámci programovacího jazyka R nabízí podporu jazyka DOT knihovna DiagrammeR. Přímou editaci grafů v jazyce DOT nabízí vektorový grafický editor Xfig.[3] Jazyk je podporován i vizualizačním nástrojem Gephi a řadou javascriptových knihoven.

Odkazy

Reference

V tomto článku byl použit překlad textu z článku DOT (GraphViz) na německé Wikipedii.

  1. TIŠNOVSKÝ, Pavel. Tvorba grafů a diagramů s využitím doménově specifického jazyka nástroje Graphviz (2.část). Root.cz [online]. 2021-06-08. Dostupné online. ISSN 1212-8309. 
  2. TIŠNOVSKÝ, Pavel. Tvorba grafů a diagramů s využitím doménově specifického jazyka nástroje Graphviz. Root.cz [online]. 2021-06-03. Dostupné online. ISSN 1212-8309. 
  3. TIŠNOVSKÝ, Pavel. Tvorba grafů a diagramů s využitím doménově specifického jazyka nástroje Graphviz (dokončení). Root.cz [online]. 2021-07-06. Dostupné online. ISSN 1212-8309. 

Externí odkazy

Média použitá na této stránce