2009-05-11 14 views
6

Szukam sposobu rysowania ukierunkowanych wykresów w PHP. (jak w http://upload.wikimedia.org/wikipedia/commons/0/08/Directed_acyclic_graph.png). Chcę, aby tworzył obraz wykresu tak, jak GD może wyprowadzać obraz.Jak wykonać ukierunkowany rysunek wykresu w PHP?

Wiele googlowałem na ten temat, ale mogę znaleźć tylko wiele bibliotek do rysowania wykresów w ogóle (z taktami itp.), A nie do grafów skierowanych.

P.S. Próbowałem używać dot (program linux) przez system(), ale niestety nie mam uprawnień, aby to zrobić na serwerze. Ponadto nie mam uprawnień do instalowania rozszerzeń PHP i podobnych rzeczy na serwerze, więc powinien działać z normalnym PHP (najlepiej po prostu dołączając plik).

Z góry dziękuję.

+0

Dlaczego nie można zrobić przy użyciu gd? Byłoby to względnie banalne, wystarczy śledzić, gdzie znajduje się każdy węzeł. Czy chcesz po prostu podać listę węzłów i do czego się łączą, i automatycznie generuje ukierunkowany wykres? –

+0

Próbowałem tego, ale jest dość skomplikowane, aby wykonać tę pracę bez (do znacznych) błędów, co prowadzi do naprawdę paskudnie sformatowanych wykresów. Największym problemem jest struktura sieci, unikanie zbyt dużej liczby linii itp. – openbas2

Odpowiedz

3

Znalazłem PEAR interface to GraphViz; Nie używałem go wcześniej, więc nie mogę podać osobistej rekomendacji, czy jest dobre, czy złe. (ale być może to nie rozwiąże problemu, ponieważ mówisz, że nie możesz instalować aplikacji)

+0

Byłoby to naprawdę dobre rozwiązanie, ale PEAR nie jest niestety zainstalowany na moim koncie i nie mam do tego prawa. – openbas2

+5

Możesz także ręcznie pobrać pakiet i jego zależności. Nie potrzebujesz instalatora PEAR, aby korzystać z pakietów PEAR. –

3

Nie jestem świadomy implementacji wizualizacji wykresów w php.

Sugeruję jednak, aby rozważyć rysowanie wykresu za pomocą javascript, na przykład z biblioteką JS canviz, która działa w większości przeglądarek (tak, w tym IE 6 & 7, ale nie 8 obecnie).

0

Po szybkim przeszukiwaniu Google znalazłem graph.php, który w komentarzach stwierdza, że ​​łączy on węzły przez łuki, vice proste linie w podanym przykładzie, ale może być dobrym krokiem we właściwym kierunku.

+0

Może brakuje mi czegoś, ale jak widzę, jest to tylko struktura danych (którą już posiadam). Wydaje się, że nie rysuje wykresu? – openbas2

+0

Tak, zauważyłem to, gdy przygotowywałam się do użycia. Myślałem, że kod na tej stronie został obcięty. Przepraszam za to. – qat

0

użyć php generowania json zużywana przez system d3 force-directed graph. Więc wyświetlacz jest cały obsługiwane po stronie klienta, wszystko co musisz zrobić, to dokonać właściwych struktur danych json ...

-Ft