0

PEARのImage_GraphVizを使用して次の図を生成しようとしています。ただし、最上位ノード(テキスト「0」)と、最上位ノードのすぐ下にある子ノード「1」、「2」、「3」、および「4」のみが表示されます。私は何かが足りないのですか?

これはコードです:

    $gv = new Image_GraphViz(true);

    $gv->addEdge(array('1', '2'));
    $gv->addEdge(array('2', '3'));
    $gv->addEdge(array('2', '4'));
    $gv->addEdge(array('3', '5'));
    $gv->addEdge(array('3', '6'));
    $gv->addEdge(array('3', '7'));
    $gv->addEdge(array('4', '5'));

    echo $gv->fetch('svg');

私は以下を試しましたが、これは明らかに間違っています:)。

    $gv->addEdge(array('1', '2'));
    $gv->addEdge(array('1', '2', '3'));
    $gv->addEdge(array('1', '2', '4'));
    $gv->addEdge(array('1', '2', '3', '5'));
    $gv->addEdge(array('1', '2', '3', '6'));
    $gv->addEdge(array('1', '2', '3', '7'));
    $gv->addEdge(array('1', '2', '4', '5'));

あることを理解していますtwo ways to get to 5。スルー(1, 2, 3, 5)および/または(1, 2, 4, 5)

画像には、に向かう2本の線が表示されているはず5です。私は非常に混乱しています、何か提案はありますか?

4

1 に答える 1

1

ドキュメントから、連想配列が必要なようです。代わりにこれを試してもらえますか?

$gv = new Image_GraphViz(true);

// Notice the use of =>
$gv->addEdge(array('1' => '2'));
$gv->addEdge(array('2' => '3'));
$gv->addEdge(array('2' => '4'));
$gv->addEdge(array('3' => '5'));
$gv->addEdge(array('3' => '6'));
$gv->addEdge(array('3' => '7'));
$gv->addEdge(array('4' => '5'));

echo $gv->fetch('svg');
于 2009-11-02T14:11:22.453 に答える