Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: zeridon в Sep 03, 2010, 19:34



Титла: Създаване на графики за web
Публикувано от: zeridon в Sep 03, 2010, 19:34
Здрасти,

тея дни съм се закучил с една дреболия. Трябва ми да правя графики от подадени данни с помощта на пхп.

Данните са във следния формат:
2010-08-22,1234
или иначе казано <дата>,<стойност>

До момента изпробвах:
 * phplot - ако данните ги дефинирам във файла всичко работи, ако обаче ги дефинирам с четене и explode от следния вид:
Код
GeSHi (PHP):
  1. $data = array();
  2. while (!feof($fh)){
  3.  $fbuff=fread($fh,2048);
  4.  if ($fbuff) {
  5.    $data[] = explode(',',$fbuff);
  6.  }
  7. }
Нищо не се получава.
ПС: Формата на данните за phplot e:
Код
GeSHi (PHP):
  1. $data = array {
  2.  array{ x, y },
  3. }
* open-flash-chart - прекалено тромаво се подават данните, и нещо флаша не ме кефи
 * gnuplot - още по трагична история от флаша, макар че не съм си играл много с него.

Та подсказвайте някакво решение за графики. Данните няма да са много (30 - 60 реда).


Титла: Re: Създаване на графики за web
Публикувано от: n00b в Sep 03, 2010, 20:03
Намирането на подходящ chart не е никак "малък" проблем както го омаловажаваш!

Ползвал съм до сега:
http://pchart.sourceforge.net/

уви хубавите графики изискват Flash:
http://www.maani.us/xml_charts/index.php?menu=Introduction



Титла: Re: Създаване на графики за web
Публикувано от: gat3way в Sep 03, 2010, 23:28
Пробвай jpgraph, чертае красиви графики и не е много сложно за ползване. На сайта им има доста примери, а и из нета може да се намерят доста.


Титла: Re: Създаване на графики за web
Публикувано от: neter в Sep 04, 2010, 13:08
Грешката ти е, че форматът на масива с данните в phplot не е
Код
GeSHi (PHP):
  1. $data = array {
  2.  array{ x, y },
  3. }
а е
Код
GeSHi (PHP):
  1. $data = array (
  2.  array( 'name', x, y ),
  3. )
Т.е., имаш и име на позицията, което е опционално и може да го оставиш празно, но все пак въведено в масива. Нататък си ти, освен ако не искаш и да ти го разпиша ;)