GraphViz グラフ

   

このドキュメントでは、Chart API を使って GraphViz グラフを作成する方法について説明します。

概要

GraphViz は、接続グラフを可視化するためのオープンソース ツールのパッケージです。DOT 言語と任意のレイアウト エンジンを使用して、GraphViz グラフを作成できます。

GraphViz グラフは、さまざまな必須パラメータ セットをサポートしています。サポートされているパラメータは次のとおりです。

パラメータ 必須または任意 説明
cht=gv[:<opt_engine>] 必須

GraphViz グラフを指定します。必要に応じて、GraphViz エンジンを指定できます。レイアウト エンジンを指定する場合は、セミコロン : マークを追加し、<opt_engine> に次のいずれかの文字列を指定します。

  • dot - デフォルトのエンジン
  • neato
  • twopi
  • circo
  • fdp

これらの各エンジンの説明については、GraphViz のウェブサイトをご覧ください。

chs=<width>x<height> 任意 サイズを指定しない場合、グラフのサイズは自動的に調整されます。
chl=<DOT_string> 必須 描画するグラフ(DOT 言語表記)。DOT 言語リファレンスは、GraphViz のウェブサイトで確認できます。
chd 未使用 GraphViz コードは通常、chd パラメータを無視する点で珍しいものです。URL には含めないでください。
chof=<output_format> 任意 グラフの出力形式。サポートされている出力形式については、パラメータの説明を参照してください。chof=json を指定すると、グラフの JSON 表現が HTML イメージマップとして返されます。これを使用して、リンクやインタラクティビティをグラフに追加できます。詳しくは、グラフの画像マップの作成をご覧ください。
callback=<handling_function_name> 任意 chof=json を指定した場合、返された JSON (グラフの画像マップを含む)で呼び出す関数も指定できます。関数は、グラフの JSON 表現である単一の JSON パラメータを受け入れる必要があります。その後、ページでは、グラフを <img> 要素として指定してグラフをレンダリングできます。また、 chof=json&callback=somefunc を使用して同じ URL を呼び出し、返された JSON を解析してリンクまたはインタラクティビティを追加する somefunc() という関数を含めることができます。

 

例:

説明

ドットエンジンの例(デフォルト)。

ドットグラフ
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

neato エンジンの例(同じグラフ)。 NEATO チャート
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
サイズが指定されていないドットグラフ。 グラフのサイズは自動的に調整されます。 サイズが指定されていないドットグラフ
cht=gv
chl=graph{a--b--c;b--d}
より複雑なグラフ。 より工夫を凝らしたドットグラフ
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]}

現在の GraphViz グラフに関するヒントと既知の制限事項は次のとおりです。

  • graph 属性 size は使用しないでください。代わりに Chart API パラメータ chs を使用してください。
  • ノードの最大数は 200、エッジの最大数は 400 です。
  • アンチ エイリアス、透明度、代替フォントはサポートされていません。
  • node 属性の imageshapefile はサポートされていません。この属性が存在する場合は、エラーが発生します。
  • graph 属性 ratiomarginpad はサポートされていないため、存在する場合は無視されます。