GraphViz je software pro vizualizaci grafů. Může tedy sloužit například k „přehlednému“ zobrazení grafu přátel na Facebooku. GraphViz jako takový poskytuje pouze program pro příkazovou řádku, pomocí kterého lze grafy generovat do různých grafických formátů nebo do textového formátu reprezentujícího informace o layoutu. Pokud bychom chtěli takový graf zobrazit ve WPF, můžeme použít komponentu Image, ale co kdybychom chtěli, aby součástí vygenerovaného grafu byly i „živé“ prvky, například klikatelné tlačítka, select boxy a podobně? V takovém případě je tu Graphviz4Net, který umí zpracovat textový výstup GraphVizu a aplikovat informace o layoutu daného grafu na libovolné WPF komponenty.
Jak funguje GraphViz
Samotný GraphViz (tedy nikoliv Graphviz4Net) se používá zhruba následovně. Stačí vytvořit textovou reprezentaci grafu, který chceme vizualizovat. K tomuto účelu slouží jazyk DOT.
digraph G {
node [shape=rect];
node1 [label="A", width=2, height=1];
node2 [label="B"];
node3; node5;
node1 -> node2 [label="Edge from A to B"];
node3 -> node1; node3 -> node5;
node1 -> node5; node5 -> node2;
}
Potom stačí použít utilitu dot, která je součástí GraphViz.
dot -Tpng graph.gv > graph.png
A výsledný obrázek vypadá následovně:

Graphviz4Net
Graphviz4Net umožňuje použít GraphViz pro vizualizaci grafů ve WPF. Uzly grafu mohou být libovolné WPF komponenty, i všechny další prvky grafu je možné customizovat. Graphviz4Net podporuje pod-grafy (ohraničené komponenty v grafu), hrany mezi pod-grafy, popisky u hran, popisky u konců hran a různé tvary konců hran. Více informací o Graphviz4Net, včetně příkladu použití, lze získat na domácí stránce projektu.
Post a Comment