Tracer une bordure autour d’un ensemble de sumts dans Graphviz

J’essaie de dessiner un graphique avec Graphviz.

Je souhaite tracer une ligne pointillée autour d’un ensemble de sumts, symbolisant qu’ils font partie d’une entité plus grande.

Par exemple, si j’ai trois sumts comme des œufs, du poulet et du jambon, je devrais pouvoir dessiner une ligne pointillée autour d’eux et les étiqueter comme de la nourriture.

Il est possible de regrouper des nœuds dans graphviz en les plaçant dans un cluster . Un cluster est un type spécial de sous-graphe pris en charge par certains moteurs de mise en page (dot, fdp, …) et, s’il est pris en charge, les nœuds d’un cluster seront dessinés ensemble.

De la documentation:

Si le nom du sous-graphe commence par un cluster , Graphviz note le sous-graphe comme un sous-graphe de grappe spécial. S’il est pris en charge, le moteur de mise en page effectue la mise en page afin que les nœuds appartenant au cluster soient dessinés ensemble, avec l’intégralité du dessin du cluster contenu dans un rectangle englobant.

Notez que, pour le meilleur comme pour le pire, les sous-graphes de grappe ne font pas partie du langage DOT, mais uniquement une convention syntaxique à laquelle adhèrent certains moteurs de mise en page.


Important: L’ID du sous-graphe doit commencer par un cluster .


Exemple:

 graph g{ subgraph cluster_food { eggs; chicken; ham; label="Food"; graph[style=dotted]; } } 

jambon, poulet et oeufs