Le Thu, 27 Jan 2011 11:17:02 +0100,
Patrice Karatchentzeff <patrice.karatchentzeff@???> a écrit :
Bonjour,
Si je comprend bien ton besoin, tu cherches à mutualiser les propriétés
communes de certains noeuds (nodes). Un peu dans la meme logique que les
"class" en CSS, c'est bien çà ?
Je n'ai encore jamais été aussi rigoureux que toi ;-) ...mais d'après la
page suivante, il faut utiliser la notion de "subgraph" (sans l'option
"cluster)"
http://www.adp-gmbh.ch/misc/tools/graphviz/index.html
Extrait définissant les subgraphs :
* Groups related nodes and edges together
* Provides a context for common attributes (for example default
color for nodes)
* If the name begins with "cluster", the nodes and edges within the
subgraphs are drawn together (within a bounding rectangle).
J'espère que çà t'orientera vers des tutoriaux plus complets...
Samuel
> Salut,
>
> Je joue un peu avec graphviz et j'ai une limitation qui m'embête...
>
> digraph diag1 {
>
> A=[label="label1"];
> B=[llabel="label2"];
>
> A -> B;
>
> }
>
> fonctionne très bien.
>
> Je peux ainsi personnaliser mon graphe en dehors de la définition du
> graphe lui-même, laissant à ce dernier le minimum de pollution (pour
> les labels de branches par exemple).
>
> C'est bien.
>
> Maintenant, j'ai plein de nœuds avec des propriétés semblables (même
> polygone, même style, même couleur) et ce, pour plusieurs nœuds du
> graphe.
>
> Une solution bourrine consiste à ajouter ces propriétés à la suite des
> labels en-tête du graphe mais :
>
> - on perd en lisibilité
> - la duplication d'une propriété (i.e du code) est mal car ça conduit
> fatalement à un bogue un jour.
>
> Je voudrai donc pouvoir faire
>
>
> digraph diag2 {
>
> prop1 [shape=box3d, style=filled];
> prop2 [shape=box, color=red];
>
> A=[label="label1", prop1];
> B=[llabel="label2", prop2];
>
> A -> B;
>
> }
>
> Mais « ça ne fonctionne pas ».
>
> Est-ce qu'il y a un truc ou tout simplement est-ce que ce n'est pas
> possible ?
>
> Merci d'avance,
>
> PK
>