19

Dot 言語でグラフを画像ファイルとしてレンダリングできる Java または Python ライブラリを探しています。問題は、Google App Engine で使用できるライブラリが必要なことです。基本的に、有向グラフのテキスト記述をグラフの画像に変換できるライブラリを探しています。

例えば:

このエッジ リストを変換します。

[A,B]
[B,C]
[A,C]
[C,D]

この画像に:

サンプル画像

この例ではGraphvizを使用しましたが、Google App Engine では使用できないことがわかっています。

4

4 に答える 4

19

Canvizは、Graphviz グラフを Web ブラウザーのキャンバスに描画するための JavaScript ライブラリーです。ほとんどのブラウザで動作します。

Canviz を使用すると、ビットマップ イメージとイメージマップを生成してブラウザーに送信するよりも、Web アプリケーションに利点があります。

  • サーバーは、Graphviz に xdot テキストを生成させるだけで済みます。これは、ビットマップ イメージを生成するよりも高速です。
  • xdot テキストのみをブラウザーに転送する必要があります。これはバイナリ イメージ データよりも小さく、ブラウザがサポートしている場合 (ほとんどの場合)、テキストを gzip または bzip2 圧縮できます。
  • サーバーではなく、Web ブラウザーが描画を実行します。これにより、サーバーの負荷が軽減されます。
  • ユーザーは、サーバーを介さずにグラフのサイズを変更できます。これは、サーバーが異なるサイズでグラフを描画して送信するよりも高速です。

実際の動作を確認するには、こちらをご覧ください。

于 2010-02-19T11:04:14.917 に答える
12

Google Charts APIは、GraphViz を実験的にサポートするようになりました。(Image Charts プロジェクト全体が公式に廃止されたことに注意してください。)

于 2010-07-02T19:06:48.727 に答える
0

グラフを表示する必要があり、画像として埋め込む必要がない場合は、フラッシュ ベースのperfuse プロジェクトを参照してください。

このDependency Graphなど、ライブラリのアプリケーション例がいくつかあります。

于 2010-02-16T23:46:47.373 に答える
0

そのような純粋な python ライブラリはないと思います。できることはNetworkXを使用することです。matplotlibまたは pygraphviz を使用して描画できます。おそらく、networkx の matplotlib コードをサーバー側で描画するように変更できます。コードは次のとおりです

もう 1 つの問題は、Google アプリ エンジンに描画 API がないことですが、単純に SVG を使用してそのようなグラフを生成したり、Google チャート API に既に何かが含まれている可能性があります。

于 2010-02-15T12:22:47.003 に答える