Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== GraphViz ====== * [[python:graphviz|Utilisation avec Python]] S'écrit dans des fichiers ''.dot''. https://www.graphviz.org/ ==== Visualisation ==== * avec ''xdot'' * en convertissant le fichier DOT vers un autre format: ''dot -Tpng out.dot > out.png'' ==== Syntaxe ==== <code dot> digraph G { label = "Titre"; subgraph cluster_A { # commencer par cluster_ est obligatoire ! pencolor = "transparent" # n'affiche pas de cadre autour du sous-graphe label = "Sub A" # commentaire "a" "a-0-0" [label="A-0-0"]; "a-0-1" [label="A-0-2", style="dashed"]; "a-0-0" -> "a-0-1"; "a-0-1" -> "a-0-0" [style="dashed"]; } } </code> Faire des ''subgraph'' n'est pas obligatoire. Au début, ''digraph'' indique que le graphe est orienté. Ressources: * [[https://cyberzoide.developpez.com/graphviz/]] * [[https://www.tonyballantyne.com/graphs.html]] * [[https://graphs.grevian.org/example]] ==== Forcer l'ordre horizontal des nœuds ==== [[https://stackoverflow.com/questions/16637305/children-order-in-graphviz-tree|Source]] L'astuce est de créer un lien invisible. Pour s'assurer que le nœud ''A'' sera à gauche du nœud ''B'': <code dot> {rank = same; A -> B [style = invis];} </code> ==== Avoir une disposition en grille des sous-graphes indépendants ==== [[https://stackoverflow.com/questions/8002352/how-to-control-subgraphs-layout-in-dot|Source]] <code bash> ccomps -x test.dot | dot | gvpack -array2 | neato -Tpng -n2 -o graph.png </code> Il est possible de préciser l'ordre des graphes : <code dot> digraph G1 { sortv=1; a->{b; c;}; } digraph G2 { sortv=2; d -> {e; f;}; } digraph G3 { sortv=3; g -> h; } digraph G4 { sortv=4; i -> j; } digraph G5 { sortv=5; {k; l;} -> m; } </code> graphviz.txt Dernière modification : 2023/02/13 14:21de phsw