57 votes

Dessiner une bordure autour d'un ensemble de sommets dans Graphviz

J'essaie de dessiner un graphique avec Graphviz.

Je souhaite tracer une ligne en pointillé autour d'un ensemble de sommets, pour symboliser le fait qu'ils font partie d'une entité plus grande.

Par exemple, si trois sommets sont des œufs, du poulet et du jambon, je devrais pouvoir tracer une ligne en pointillé autour de ces trois sommets et étiqueter cette bordure comme étant de la nourriture.

101voto

marapet Points 19796

Il est possible de regrouper les nœuds dans Graphviz en les plaçant dans un fichier cluster . Un cluster est un type spécial de sous-graphe que certains moteurs de mise en page (dot, fdp, ...) supportent. S'ils le supportent, les nœuds d'un cluster seront dessinés ensemble.

Dans la documentation :

Si le nom du sous-graphe commence par cluster Graphviz note que sous-graphe comme un sous-graphe spécial de cluster. S'il est supporté, le moteur fera la mise en page de façon à ce que les nœuds appartenant au cluster sont dessinés ensemble, avec l'ensemble du dessin du cluster contenu dans un rectangle de délimitation.

Notez que, pour le meilleur et pour le pire, le cluster sous-graphes sont no partie de la langue DOT, mais uniquement un élément syntaxique. convention syntaxique à laquelle adhèrent certains des moteurs de mise en page.


Important : L'ID du sous-graphe doit commencer avec cluster .


Exemple :

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

ham, chicken and eggs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X