Graphviz ile birden seviyelerini oluşturmak için nasıl (PHP için Image_Graphviz arayüzü)

1 Cevap php

Ben PEAR için Image_GraphViz kullanarak aşağıdaki diyagramı oluşturmak için çalışıyorum. Sadece (metinde "0" ile) bir üst düzey düğümü gösterir ve ChildNodes "1", "2", "3" ve doğrudan üst düğümü altında "4" Ancak. Ben bir şey eksik?

Bu kodu:

    $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');

Ben aşağıdakileri denedim, ama bu tabii ki yanlış :) olduğunu.

    $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'));

I two ways to get to 5 vardır anlamak. Ile (1, 2, 3, 5) ve / veya (1, 2, 4, 5).

Görüntü sadece 5 olacak iki satır göstermelidir. Ben çok, herhangi bir öneriniz kafam karıştı?

1 Cevap

Belgelerine bakıldığında ilişkilendirilebilir diziler gerek görünüyor. Yerine bunu deneyebilir miyim?

$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');