Graphiques GraphViz

   

Ce document explique comment créer des graphiques GraphViz à l'aide de l'API Chart.

Présentation

GraphViz est un ensemble d'outils Open Source permettant de visualiser les graphiques de connectivité. Vous pouvez créer des graphiques GraphViz en utilisant le langage DOT et les moteurs de mise en page de votre choix.

Les graphiques GraphViz prennent en charge un autre ensemble de paramètres obligatoires. Voici les paramètres acceptés:

Paramètres Obligatoire ou facultatif Description
cht=gv[:<opt_engine>] Obligatoire

Spécifie un graphique GraphViz. Vous pouvez éventuellement spécifier un moteur GraphViz. Si vous souhaitez spécifier un moteur de mise en page, ajoutez le point-virgule et spécifiez l'une des chaînes suivantes dans <opt_engine> :

  • dot : moteur par défaut
  • neato
  • twopi
  • circo
  • fdp

Consultez le site Web de GraphViz pour obtenir une description de ces différents moteurs.

chs=<width>x<height> Facultatif Si vous ne spécifiez pas de taille, le graphique sera redimensionné automatiquement.
chl=<DOT_string> Obligatoire Graphique à dessiner, au format DOT. Vous trouverez la documentation de référence sur le langage DoT sur le site Web de GraphViz.
chd NON UTILISÉE Les codes GraphViz sont inhabituels dans la mesure où le paramètre chd est ignoré. Ne l'incluez pas dans votre URL.
chof=<output_format> Facultatif Format de sortie du graphique. Consultez la description des paramètres pour en savoir plus sur les formats de sortie compatibles. Si vous spécifiez chof=json, vous obtenez une représentation JSON du graphique sous forme d'image cliquable HTML que vous pouvez utiliser pour ajouter des liens ou des éléments interactifs au graphique. Pour en savoir plus, consultez la section Créer une image cliquable pour un graphique.
callback=<handling_function_name> Facultatif Si vous spécifiez chof=json, vous pouvez également spécifier une fonction à appeler avec le fichier JSON renvoyé qui inclut l'image cliquable du graphique. Votre fonction doit accepter un seul paramètre JSON, qui sera une représentation JSON du graphique. Votre page peut ensuite spécifier votre graphique en tant qu'élément <img> pour le générer, appeler la même URL avec chof=json&callback=somefunc et inclure une fonction appelée somefunc() qui analysera le fichier JSON renvoyé et ajoutera des liens ou une interactivité.

 

Exemples :

Description Exemple

(par défaut).

graphique à points
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

neato Engine du même graphique. graphique Neato
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
Graphique à points, sans taille spécifiée Le graphique est dimensionné automatiquement. graphique à points sans taille spécifiée
cht=gv
chl=graph{a--b--c;b--d}
Un graphique plus complexe. Un graphique à points plus sophistiqué
cht=gv
chl=
  graph{C_0--H_0[type=s];C_0--H_1[type=s];C_0--H_2[type=s];C_0--C_1[type=s];C_1--H_3[type=s];C_1--H_4[type=s];C_1--H_5[type=s]}

Voici quelques conseils et limitations connues dans les graphiques GraphViz actuels:

  • L'attribut graph size ne doit pas être utilisé. Utilisez plutôt le paramètre chs de l'API de graphique.
  • Le nombre maximal de nœuds est 200 et le nombre maximal de nœuds 400.
  • L'anticrénelage, la transparence et les polices alternatives ne sont pas prises en charge.
  • Les attributs node image et shapefile ne sont pas acceptés et génèrent une erreur s'ils sont présents.
  • Les attributs graph ratio, margin et pad ne sont pas acceptés et seront ignorés s'ils sont présents.