GraphViz-Charts

   

In diesem Dokument wird beschrieben, wie Sie mit der Chart API GraphViz-Diagramme erstellen.

Übersicht

GraphViz ist ein Paket von Open-Source-Tools zur Visualisierung von Konnektivitätsdiagrammen. Sie können GraphViz-Diagramme mit der DOT-Sprache und den Layout-Engines Ihrer Wahl erstellen.

GraphViz-Diagramme unterstützen einen anderen Satz von erforderlichen Parametern. Folgende Parameter werden unterstützt:

Parameter Erforderlich oder optional Beschreibung
cht=gv[:<opt_engine>] Erforderlich

Gibt ein GraphViz-Diagramm an. Sie können optional eine GraphViz-Engine angeben. Wenn Sie eine Layout-Engine angeben möchten, fügen Sie das Semikolon : ein und geben Sie einen der folgenden Strings für <opt_engine> an:

  • dot – die Standard-Engine
  • neato
  • twopi
  • circo
  • fdp

Eine Beschreibung dieser verschiedenen Engines finden Sie auf der GraphViz-Website.

chs=<width>x<height> Optional Wenn Sie keine Größe angeben, wird die Größe des Diagramms automatisch angepasst.
chl=<DOT_string> Erforderlich Das zu zeichnende Diagramm in der DOT-Sprachschreibweise. Die DOT-Sprachreferenz finden Sie auf der GraphViz-Website.
chd NICHT VERWENDET GraphViz-Codes sind ungewöhnlich, da der Parameter chd ignoriert wird. Nimm ihn nicht in deine URL auf.
chof=<output_format> Optional Ein Ausgabeformat für das Diagramm. In der Beschreibung des Parameters erfahren Sie, welche Ausgabeformate unterstützt werden. Wenn Sie chof=json angeben, erhalten Sie eine JSON-Darstellung des Diagramms als HTML-Bildzuordnung. Damit können Sie dem Diagramm Links oder Interaktivität hinzufügen. Weitere Informationen finden Sie unter Diagramm-Imagemap erstellen.
callback=<handling_function_name> Optional Wenn Sie chof=json angeben, können Sie auch eine Funktion angeben, die mit dem zurückgegebenen JSON-Code aufgerufen werden soll und die Bildzuordnung des Diagramms enthält. Die Funktion muss einen einzelnen JSON-Parameter akzeptieren, der eine JSON-Darstellung des Diagramms ist. Deine Seite kann dann dein Diagramm als <img>-Element angeben, um das Diagramm zu rendern, und dieselbe URL auch mit chof=json&callback=somefunc aufrufen und eine Funktion namens somefunc() einbinden, die den zurückgegebenen JSON-Code parst und Links oder Interaktivität hinzufügt.

 

Beispiele:

Beschreibung Beispiel

Beispiel für Punkt-Engine (Standard).

Punktdiagramm
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

Beispiel für die Neato-Engine. Neato-Diagramm
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
Ein Punktdiagramm ohne angegebene Größe. Die Größe des Diagramms wird automatisch angepasst. Punktdiagramm ohne angegebene Größe
cht=gv
chl=graph{a--b--c;b--d}
Ein komplexeres Diagramm. Ein ausgefalleneres Punktdiagramm
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]}

Hier sind einige Tipps und bekannte Einschränkungen in den aktuellen GraphViz-Diagrammen:

  • Das graph-Attribut size sollte nicht verwendet werden. Verwenden Sie stattdessen den Chart API-Parameter chs.
  • Die maximale Anzahl von Knoten beträgt 200 und die maximale Anzahl für Kanten 400.
  • Kantenglättung, Transparenz und alternative Schriftarten werden nicht unterstützt.
  • Die node-Attribute image und shapefile werden nicht unterstützt und führen zu einem Fehler, falls vorhanden.
  • Die graph-Attribute ratio, margin und pad werden nicht unterstützt und gegebenenfalls ignoriert.