Graphiques GraphViz

   

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

Présentation

GraphViz est un package d'outils Open Source permettant de visualiser les graphiques de connectivité. Vous pouvez créer des graphiques GraphViz à l'aide du langage DOT et des moteurs de mise en page de votre choix.

Les graphiques GraphViz sont compatibles avec 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, incluez le point-virgule : et spécifiez l'une des chaînes suivantes pour <opt_engine>:

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

Accédez au site Web 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 dimensionné 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É 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 connaître les formats de sortie compatibles. Si vous spécifiez chof=json, vous obtiendrez une représentation JSON du graphique sous forme d'image cliquable HTML que vous pourrez utiliser pour ajouter des liens ou de l'interactivité au graphique. Pour en savoir plus, consultez la section Créer une image cliquable dans 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 est une représentation JSON du graphique. Votre page peut ensuite spécifier votre graphique en tant qu'élément <img> pour l'afficher, et appeler la même URL avec chof=json&callback=somefunc et inclure une fonction appelée somefunc() qui analyse le fichier JSON renvoyé et ajoute des liens ou de l'interactivité.

 

Exemples :

Description Exemple

(par défaut).

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

exemple 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 les limites connues des graphiques GraphViz actuels:

  • L'attribut size de graph ne doit pas être utilisé. Utilisez plutôt le paramètre chs de l'API de graphique.
  • Le nombre maximal de nœuds est de 200, et le nombre maximal pour les arêtes est de 400.
  • L'anticrénelage, la transparence et les autres polices ne sont pas pris en charge.
  • Les attributs node image et shapefile ne sont pas acceptés et généreront 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.