dot (Graphviz)
Dot est à la fois le nom d'un langage et d'un utilitaire de la suite Graphviz, développé par AT&T. Le langage permet de décrire de façon simple un graphe (une liste de nœuds, une liste d'arcs pour relier les nœuds). L'utilitaire lit un fichier au format dot, le compile, et écrit un fichier graphique représentant le graphe.
Des attributs permettent de décrire les propriétés des nœuds et des arcs (comme la couleur, les textes associés, les polices de textes, la forme des nœuds, le graphisme des arcs, la transparence ...).
Les nœuds des graphes sont organisés de manière hiérarchiques (en couches).
L'algorithme de dessin repère l'ensemble des arcs qui ont la même direction (de haut en bas, de gauche à droite) et minimise (par programmation linéaire) les croisements entre arcs et leur longueur.
De nombreuses options permettent de modifier le comportement de cet algorithme.
L'entrée de dot est un simple fichier texte, mais il y a beaucoup d'interfaces qui permettent d'utiliser dot (et autres outils de Graphviz) depuis perl, java, python, matlab, R...
Plusieurs formats sont possibles pour les fichiers produits (ps, pdf, jpeg, svg, tiff...); voir http://www.graphviz.org/doc/info/output.html pour une liste complète des formats de sortie.
Graphviz est par exemple utilisé comme composant de MuPAD-Combinat ou de Sage-Combinat pour le tracé de graphes (graphes cristallins, système des catégories et autres).
Mais l'utilisation des graphes est universelle, et on trouve facilement des exemples de graphes dot pour la représentation d'un réseau informatique, celle d'automates, les relations entre cellules, etc.
Le programme dot2tex développé par Kjell Magne Fauske permet d'intégrer des formules mathématiques complexes en LaTEX dans les labels des nœuds et des arêtes.
Commentaires
Rgraphviz
Rgraphviz : graphes avec Graphviz en R
http://www.bioconductor.org/packages/release/bioc/...
Yacclib
Yacclib est une petite bibliothèque Objective-Caml pour lire et écrire des fichiers OCamlyacc (.mly). La bibliothèque permet aussi de générer un graphe dot à partir de ces fichiers.
http://brion.inria.fr/~guesdon/yacclib.fr.html
Odot
Odot est une petite bibliothèque Objective-Caml pour lire et écrire des fichiers dot Graphviz. Un module additionnel permet d'afficher ces graphes dans une boîte Lablgtk2 et de gérer les clics de souris sur les noeuds du graphe. Cette bibliothèque fait partie de Cameleon2 mais peut être installée séparément.
http://home.gna.org/cameleon/odot.fr.html