2009-05-11 12 views
6

私はPHPで有向グラフを描く方法を探しています。 (http://upload.wikimedia.org/wikipedia/commons/0/08/Directed_acyclic_graph.pngのように)。 GDが画像を出力できるように、グラフの画像を作成したい。PHPで有向グラフを作成する方法は?

私はこれについて多くのことを尋ねましたが、グラフを描画するための多くのライブラリ(棒など)は、有向グラフではありません。

P.S.私はシステム()経由でドット(Linuxのプログラム)を使用しようとしましたが、残念ながら私はサーバー上でそれを行う権限がありません。また、私はPHPエクステンションをインストールする権利がなく、通常のPHP(理想的にはファイルを含む)で動作するはずです。

ありがとうございます。

+0

なぜあなたは、この使用してGDを行うことはできませんか?それは比較的簡単です、あなたはちょうど各ノードがどこにあるのかを追跡する必要があります。あなたはノードのリストとそのノードに接続するものを与えたいのですが、有向グラフを自動的に生成しますか? –

+0

私はこれを試しましたが、(多くの)バグがなくても動作させるのは非常に複雑です。本当に醜いフォーマットのグラフになります。最大の問題は、ネットワークの構造です。多くの交差点などを避けてください。 – openbas2

答えて

3

PEAR interface to GraphVizが見つかりました。私はそれを使用していないので、それが良いか悪いかを問わずあなたに個人的な推奨を与えることはできません。 (しかし、あなたがアプリケーションをインストールできないと言っているので、おそらくあなたの問題を解決しません)

+0

実際には良い解決策になりますが、PEARは残念ながらアカウントにインストールされていません。 – openbas2

+5

パッケージを手動でダウンロードすることもできますし、依存関係もあります。 PEARパッケージを使用するには、PEARインストーラは必要ありません。 –

3

私は、PHPでグラフの可視化の実装を知らないです。

しかし、ほとんどのブラウザで使用できるcanviz JSライブラリ(例:IE 6 & 7を含むが、現在は8ではない)のように、グラフをJavaScriptで描画することを検討することをお勧めします。

0

クイックGoogle検索後、私はgraph.phpを見つけました。コメントの中には、提供されている例では直線ではなく、円弧を介してノードが接続されていますが、正しい方向に向いています。

+0

多分私は何かが欠落していますが、わかるように、これは私がすでに持っているデータ構造だけです。グラフを描いていないようですね。 – openbas2

+0

私はこれを使用するように準備していたので、これに気付きました。私はそのページのコードが切り取られたと思った。申し訳ありません。 – qat

0

。だから、ディスプレイは全て取り扱うクライアント側では、私は右のJSONデータ構造を作成するだけですが...、ある

-FT

関連する問題