Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Tworzenie wykresu
Forum PHP.pl > Forum > PHP
looimaster
  1. <?php
  2. $poll_a_arr = array(array("aaa", 10), array("bbb", 20), array("ccc", 30));
  3. ?>


  1. <?php
  2. $imgc = imagecreate(400, 200);
  3. $i_color_black = imagecolorallocate($imgc, 0, 0, 0);
  4. $i_color_white = imagecolorallocate($imgc, 255, 255, 255);
  5. $i_colors = array(imagecolorallocate($imgc, 255, 0, 0), imagecolorallocate($imgc, 0, 255, 0), imagecolorallocate($imgc, 0, 0, 255), imagecolorallocate($imgc, 255, 255, 0), imagecolorallocate($imgc, 0, 255, 255), imagecolorallocate($imgc, 255, 0, 255), imagecolorallocate($imgc, 41, 130, 196), imagecolorallocate($imgc, 214, 43, 38));
  6. $lastpos = 0;
  7. for($i=0;$i<count($poll_a_arr);$i++){
  8. $sc_dgr = ceil(($poll_a_arr[$i][1] / $wszystkie) * 360);
  9. $currpos = $lastpos + $sc_dgr;
  10. imagefilledarc($imgc, 100, 100, 150, 150, $lastpos, $currpos, $i_colors[$i%(count($i_colors))], IMG_ARC_PIE);
  11. $lastpos = $currpos;
  12. imageline($imgc, 220, 20+($i*20), 230, 20+($i*20), $i_colors[$i%(count($i_colors))]);
  13. imageline($imgc, 220, 21+($i*20), 230, 21+($i*20), $i_colors[$i%(count($i_colors))]);
  14. imagestring($imgc, 2, 235, 15+($i*20), $poll_a_arr[$i][0], $i_color_white);
  15. }
  16. imagejpeg($imgc, "wykres1ankieta1.jpg", 100);
  17. imagedestroy($imgc);
  18. ?>


Skrypt tworzy wykres obrazujący wyniki ankiety (obrazek jest rysowany po każdym dodaniu odpowiedzi).
Niestety nie umiem dodać do tego procentowej ilości głosów (chciałbym żeby była wyświetlana w odpowiednim miejscu na wykresie (czyli na środku odpowiedniego koloru)).

Przykładowy obrazek tworzony przez skrypt:
http://img143.imageshack.us/img143/9866/wy...nkieta26jf4.jpg

Czyli jak mamy odpowiedź "kolejna" to na środku niebieskiego koloru chciałbym mieć napis jakieś 47% (w tym wypadku)(na wykresie).
Z góry dziękuję za pomoc.
Cezar708
Nie zagłębiałem się w Twój kod, ale do tego typu wykresów jest już gotowa specjalna darmowa biblioteka PEAR::Image_Graph. Być może wygodniej będzie użyć już czegoś gotowego i sprawdzonego?
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.