2011-10-20 20 views
1

Hy、私はPHPの配列からGraphVizグラフを作成する方法を探しています。私はキーとそれに対応する値を抽出し、グラフを作成するためにそれらを使用する必要がある連想多次元配列を持っています。 1Dアレイによる例:私はキー「犬」を抽出し、うなずきのラベルとして使用し、対応する値「4」を抽出し、何とかそのうなずきのサイズを定義するためにそれを使用する必要がPHPのmd配列を使用してgraphvizグラフを作成

$arr = ("dogs" => "4", "cats" => "3"); 

。 多次元配列で同じことをする必要があります。ただ、愚かな例:最初の配列=>「犬」 名/ラベルからの最初のキー:最初のノードの

名/ラベル:

$md_arr = ("dogs" => array("rot" => "7", "blood_hound" => "4"), 
      "cats" => array("long_hair" => "12", "some_other_kind" => "1") 
     ); 

私は出力を定義するために、このようなものが必要第2のノードの第1のキー=>「腐敗」、そのノードのサイズは、対応するキーの値であり、この場合「7」である。

また、私のarray_script.php(MD配列を作成するスクリプト)から変数をグラフを作成する新しいスクリプトに渡す方法も知っておく必要があります。私は私のPHPスクリプトにグラフを作成するためのサンプルコードを入れてみました、そして出力が示す警告メッセージだった:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\hare.php:1) in C:\xampp\php\PEAR\Image\GraphViz.php on line 174 

を誰もこれで私を助けてくださいことはできますか?

+1

私はそれを自分で考え出しました:) [link](http://pear.php.net/manual/en/package.images.image-graphviz.example.php) トリックは ' addNode'関数を呼び出します。私の場合は、動的に配置されたMD配列のデータを使用して動的なグラフを作成する必要がありました。したがって、必要なデータを含む変数をノードに指定するだけで済みます。変数の値でラベルを設定する必要があったので、コードは '$ graph-> addNode($ var1、array( 'label' => $ var1)); $ graph-> addNode($ var2、array( 'label' => $ var2)); $ graph-> addEdge(array($ var1 => $ var2)) ' var名は同じですが、値が異なる場合に機能します – omot

+1

あなた自身の質問に答えてください。自分の答えを質問に答えることができます。これにより、StackOverflowに価値がもたらされ、他の人にも役立ちます - ありがとうございます。 –

答えて

0

私は自分自身でそれを考え出しました:)このトリックはaddNode関数を使用することです。私の場合は、動的に配置されたMD配列のデータを使用して動的なグラフを作成する必要がありました。したがって、必要なデータを含む変数をノードに指定するだけで済みます。変数からの値でもラベルを設定する必要があったので、ここにコードがあります:$ graph-> addNode($ var1、array( 'label' => $ var1)); $ graph-> addNode($ var2、array( 'label' => $ var2)); $ graph-> addEdge(array($ var1 => $ var2))は、var名は同じですが、値が異なれば動作します。

6年遅れています。 私はコミュニティにお詫び申し上げます。私は6年前に何が起こっていたのか分かりません。

関連する問題