![]() |
|
Programowanie:
Artykuły
FAQ
Download
Książki
WWW:
Artykuły
Narzędzia
Kursy
Darmowe
FAQ
Skrypty
Humor
Inne:
Forum
Wiki
Liczniki
Linki
Chat
Grafika
Video
Inne
|
|
Jak dynamicznie wygenerować wykres na stronie ?
Generealnie możliwości są dwie. Albo generujemy je po stronie serwera, ale na komputerze klienta. Generowanie po stronie serwera jest z pewnością bardziej eleganckie i nie wymaga wysyłania zbędnych danych do klienta, nie każdy posiada jednak na serwerze obsługę PHP, CGI czy ASP. W obydwu przypadkach mamy dwie możliwości. Pierwsza to tworzenie tych wykresów z elementów HTML, a druga to wygenerowanie jednego obrazka w którym wszystko będzie zawarte. Jeżeli chodzi o generwowanie obrazków, najlepiej korzystać z gotowych skryptów. W przypadku PHP, będzie nam potrzebna biblioteka GD zainstalowana na serwerze. Do wykresów słupkowych i liniowych osobiście korzystam z Panachart. Oto przykładowe wykresy przez niego wygenerowane: ![]() ![]() Wystraczy includować klasę, a następnie stworzyć obiekt wykresu. Dane podajemy w postaci tablic, mamy możliwość ustalenia wyokości, szerokości, napisów czy kolorów. Plik z klasą panachart'a można pobrać na stronie: http://www.panacode.com/panachart/ Panachart ma jesdnak pewną "wadę". Mianowicie nie rysuje wykresów kołowych. Po dłuższym poszukiwaniu natknąłem się na kilka skryptów takich jak np. http://www.geek247.net/PieChart/, wyglądający tak: ![]() Wszystkie darmowe skrypty na które się natknąłem generowały jednak dwuwymiarowe wykresy kołowe. W końcu znalazłem coś takiego jak class.userquota.php. Klasa teoretycznie do wyświetlania wykorzystania quoty przez użytkownika, jednak generuje wykresy trójwymiarowe: ![]() Bardzo mi się to spodobało, wprowadziłem więć kilka zmian w skrypcie dzięki czemu można zmieniać opisy wartości oraz podać plik do którego obrazek ma być wygenerowany. Zmieniłem też typ pliku wyjściowego z JPG na PNG. Zmienioną wersję można pobrać tutaj. Przykład: ![]() Jest jeszcze jeden bardzo dobry i rozubudowany skrypt PHP o którym nie wspomniałem. Nie wspomniałem, ponieważ wymieniałem tu tylko darmowe skrypty. Ten natomiast można wykorzystać za darmo tylko w przypadku zastosowań niekomercyjnych (a strona z bannerem już takim nie jest). Więcej info: http://www.aditus.nu/jpgraph/index.php. Jeżeli chodzi o generowanie wykresów po stronie serwera, ale z elementów HTML, też są gotowe skryppty, choć myślę, że lepiej pokusić się o napisanie własnego. Nie jest to trudne. Do wyświetlania wykresu używamy właściwości width obrazka. Ustawiamy ją, mnożąc wartość którą reprezentuje, przez pewną zmienną, nazwijmy ją $mnoznik. $mnoznik to szerokość wykresu podzielona przez największą z wartości którą chcemy wyświetlić. Ot i cała filozofia. Przykładowy kod:
I wynik jego działania:
Analogicznie można tworzyć wykresy pionowe oraz wykresy w javascripcie. Pozostaje jeszcze Java. Nie bez powodu za przykład wykresu kołowego wybrałem ilość użytkowników z zainstalowaną maszyną Java. Chodziło mi o to, aby przypomnieć Ci, że nie wszyscy mają ją zainstalowaną i należy im zapewnić jakiś inny sposób wyświetlenia danych, bądź informację skąd Javę pobrać i jak ją zainstalować. Na chat.programuj.com mam np. coś takiego:
Osobiście nigdy nie wykorzystywałem Javy do generowania wykresów, nie będę się więc na ten temat rozpisywał. Dosyć przyzwoity skrypt realizujący to zadanie znjadziesz pod adresem http://www.javaside.com/u_tchart.html |
|