Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Libchart
Forum PHP.pl > Forum > Przedszkole
radosss
Witam

Postanowiłem pobawic się trochę z wykresami używając darmowego narzędzia LibChart. Niestety coś za bardzo nie chce działac, pomimo że instalacja wydaje się byc banalnie prosta. LibChart wymaga włączenia biblioteki GD co też zrobiłem (extension_dir oraz extension=php_gd2.dll) oraz umieszczenia w katalogu z plikiem samego LibCharta (wersja 1.2.1).

Tak dobrana konfiguracja (wraz z PHP 5.2.5 + Apache) powinna śmigac aż miło...ale nie śmiga.

Przykładowy kod (wziety w sumie z tutoriala LibCharta):

  1. <?php
  2.  
  3. include ".../libchart/classes/libchart.php";
  4.  
  5.    $chart = new VerticalBarChart();
  6.  
  7.    $dataSet = new XYDataSet();
  8.    $dataSet->addPoint(new Point("Jan 2005", 273));
  9.    $dataSet->addPoint(new Point("Feb 2005", 421));
  10.    $dataSet->addPoint(new Point("March 2005", 642));
  11.    $dataSet->addPoint(new Point("April 2005", 800));
  12.    $dataSet->addPoint(new Point("May 2005", 1200));
  13.    $dataSet->addPoint(new Point("June 2005", 1500));
  14.    $dataSet->addPoint(new Point("July 2005", 2600));
  15.    $chart->setDataSet($dataSet);
  16.  
  17.    $chart->setTitle("Monthly usage for www.example.com");
  18.    $chart->render("generated/demo1.png");
  19.  
  20. ?>


Rezultatów brak...rozleglejszych tutoriali czy manuali na powyższy temat również (przynajmniej dla Windows).
Ktoś miał podobny problem lub jest w stanie podrzucic jakąś radę?
Pozdrawiam
erix
A jakiekolwiek generowanie obrazków Ci działa? Powinno, ale lepiej się upewnić.
radosss
Niestety nie działa nic. Po odpaleniu pliku z kodem j.w. wyświetla się pusta strona, która moim zdaniem sugeruje że mimo wszystko Apache nie wykrywa bibliotek LibCharta. Byc może problem tkwi w plikach źródłowych t.j. tych w php\ext. Przykładowo ściagnąłem pliki GD ver. 2.0.35, ale nie mam co z nimi zrobic, bo wyczytalem ze odznaczenie odpowiedniej lini w php.ini wystarczy (tzn ze PHP zawiera w sobie GD wersje 2.0.34). Co jeszcze zostaje? W katalogu c:\http (katalog źródłowy plików Apacha) mam plik przyklad.php z kodem j.w oraz katalog libchart, w ktorym to znajduje sie plik libchart.php (który załączam poprzez include na początku przyklad.php). Może coś z tym include nie śmiga? Jak to sprawdzic? Przyklady gotowych wykresow w katalogu Demo libcharta tez nie dzialaja. Moze chodzi o katalog genetarted? Próbowałem już wszystkiego...i nic sad.gif
erix
  1. <?php
  2. var_dump(gd_info());
  3. ?>

Zwraca Ci to coś?
radosss
array(12) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(true) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }

Zwraca. To to samo info które otrzymam w phpinfo() odnośnie GD prawda? Wychodzi na to że to akurat jest ok.
erix
No to skoro GD działa, to musisz mieć skopane coś ze skryptem...

Sprawdź ścieżki na wszelki wypadek, wersję PHP, etc.
radosss
PHP i MySQL działają perfect. Apache urzęduje sobie razem z PHP, co wielokrotnie już sprawdzałem. Wszelakie zmiennie środowiskowe, pliki php.ini i httpd.conf pokonfigurowane. Pozostaje pytanie: czy dobrze mi się wydaje że wystarczy:
- w php.ini odznaczyc extension=php_gd2.dll co uaktywni mi GD (sprawdzone, jest)
- ściągnac LibChart. i umieścic w katalogu z którego pobiera Apache (c:\http - u mnie)
- w c:\http utworzyc plik z przykładem j.w, upewnic się że ścieżka include jest dobra (np. include("C:\http\libchart\classes\libchart.php"); )
voilla - po odpaleniu widze wykres.
Jeżeli tak działa to u wszystkich to ja w tym momencie się poddaję, gdyż nie mam pojecia (po paru h szperania) co może byc nie tak...
Mimo wszystko dzięki za odpowiedź
Pozdrawiam
erix
Mam wątpliwości co do tej linijki:
  1. <?php
  2. include ".../libchart/classes/libchart.php";
  3. ?>

Na pewno masz odpowiednią ścieżkę do tego wstawioną?
radosss
Dobra, doszedłem (przypadkiem) dlaczego nie działało...
Scieżki były prawidłowe, wszystko było ok...tylko nie dodawałem tej rzeczy:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Libchart vertical bars demonstration</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
</head>
<body>
    <img alt="Vertical bars chart" src="generated/demo1.png" style="border: 1px solid gray;"/>
</body>
</html>


Gdzie linijka
Kod
<img alt="Vertical bars chart" src="generated/demo1.png" style="border: 1px solid gray;"/>

odpowiada (chyba) za wstawienie obrazka na stronę...Swoją drogą spodziewałem się ze wykresy są generowane że tak się wyrażę "dynamicznie" tj grafika obecna na stronie może by interaktywna., co pozwoli np na odczytywanie aplitud na wykresie liniowym, czy wstawianie własnych znaczników w czasie rzeczywstym...będę musiał poszukac innego narzędzia, gdyż samemu nie posiadam doświadczenia aby przerobic Libcharta na własne potrzeby :/ Aby wykres wyglądał np jak:

http://esc.homeftp.net/

Moim zdaniem naprawdę ładne wykresy...i teraz rodzi się pytanie: jak trudno jest przerobic LibCharta aby generowal wykresy jak w linku powyżej?
erix
Cytat
Swoją drogą spodziewałem się ze wykresy są generowane że tak się wyrażę "dynamicznie" tj grafika obecna na stronie może by interaktywna

No, to już jest zwykły obrazek; nie oczekuj od niego cudów... Jeśli chodzi o dynamiczne wykresy: http://www.84bytes.com/2008/09/21/charts-a...jquery-plugins/

Cytat
Moim zdaniem naprawdę ładne wykresy...i teraz rodzi się pytanie: jak trudno jest przerobic LibCharta aby generowal wykresy jak w linku powyżej?

Nie przerobi, bo raz - to tylko obrazek, dwa, to jest już inna biblioteka.

Korzysta z niej np. Piwik i to już nie są obrazki, a animacja flash.
radosss
Dzięki za linka, na pewno zainteresuję się wykresami we flashu. Pozdrawiam i uważam temat za zamknięty winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.