E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale PHP

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  PHP  /  Diverse (10)

Crearea dinamica a graficelor si tabelelor cu PHP si GDChart - Partea II

18.06.2009
Crearea dinamica a graficelor si tabelelor cu PHP si GDChart - Partea II

Daca lucrezi de ceva timp cu PHP, deja stii ca limbajul face ca generarea imagilor dinamice sa devina foarte simpla: extensia GD si cateva linii de cod PHP sunt tot ce ai nevoie pentru a crea imagini JPEG, GIF sau PNG de la zero.

Total vizualizari: 5355 5355 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 35 min 35 min   |   Nivel de cunostiinte necesar: Avansat  Avansat

Sursa:  Devzone.zend.com  
Autor:  Devzone.zend.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1 2 »
comenteaza printeaza

Nu este genul meu

Acum ca ai aflat cum poti face o diagrama sa arate bine, sa vorbim putin si despre diversele tipuri de diagrame suportate de ext/gdchart. Pe langa graficele standard cu bare si linii, pe care le-ai vazut pana acum, ext/gdchart mai suporta si grafice din puncte, HLC (high/low/close) si placinta (pie).

Sa analizam mai intai graficele din puncte. Iata un exemplu banal:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::LINE);
 
// adauga valori
$gdc->addValues(array(null, 7, 6, 9));
 
// adauga puncte
$gdc->addScatter(8, 1, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(10, 1, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(5, 1, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(5, 1, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(6, 2, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(11, 2, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(3, 2, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(4, 2, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(10, 3, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(12, 3, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(3, 3, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
$gdc->addScatter(11, 3, GDChart::SCATTER_CIRCLE, 0xff0000, 5);
 
// seteaza etichete, culori si contururi
$gdc->setLabels(array(null, 'A', 'B', 'C'));
$gdc->setColors(array(0x0000ff));
$gdc->grid = 0;
$gdc->border = GDChart::BORDER_Y;
$gdc->zeroShelf = 1;
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Iata rezultatul:

Singurul lucru nou din acest exemplu este metoda addScatter(). Aceasta accepta 5 parametri: un punct, o pozitie, o constanta care indica simbolul utilizat pentru marcarea punctului, un cod de culoare in hexazecimal si o valoare pentru dimensiune. Acesti parametri sunt utilizati apoi pentru a fixa punctul respectiv pe grafic. Poti apela addScatter() de cate ori este nevoie.

Dar diagrame HLC? Iata cum poti crea una:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::HILOCLOSE);
 
// seteaza valorile 'high' (inalt)
$gdc->addValues(array(5,6,7,9));
 
// seteaza valorile 'low' (jos)
$gdc->addValues(array(1,2,3,4));
 
// seteaza valorile 'close' (apropiat)
$gdc->addValues(array(4,5,2,7));
 
// seteaza etichetele, culorile si forma marcajelor close
$gdc->setLabels(array('2002', '2003', '2004', '2005'));
$gdc->setColors(array(0x00ff00,0xff0000,0x0000ff));
$gdc->hlcStyle = GDChart::HLC_DIAMOND;
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Iata cum arata rezultatul:

In acest grafic, 3 seturi distincte de date - cate unul pentru inalt, jos si apropiat - sunt atasate graficului prin apelarea repetata a metodei addValues(). Proprietatea 'hlcStyle' este utilizata pentru a controla aspectul marcajelor de apropiere si poate lua una dintre valorile HLC_DIAMOND, HLC_CLOSE_CONNECTED, HLC_CONNECTING sau HLC_I_CAP. Joaca-te putin cu acestea pentru a observa cum arata fiecare.

O placinta in aer

Diagramele de tip placinta sunt foarte populare si nu este o surpriza ca GDChart vine cu diverse proprietati si metode specifice acestora. Iata un exemplu de script care creeaza un grafic de tip pie:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::PIE_3D);
 
// seteaza marimea portiunilor din graphic si etichetele corespunzatoare
$gdc->addValues(array(50, 30, 100, 20));
$gdc->setLabels(array('UK', 'US', 'Europe', 'India'));
 
// seteaza titlul
$gdc->title = 'ANNUAL SALES BY LOCATION';
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

O diagrama pie este creata la fel ca si celelalte tipuri de grafice: initializeaza un obiect GDChart cu tipul de diagrama, ataseaza valori si etichete descriptive portiunilor din grafic cu ajutorul metodelor addValues() si setLabels(), si randeaza diagrama prin apelarea metodei out(). Iata rezultatul:

Ar fi dragut daca am putea afisa procentajul ocupat de fiecare portiune in diagrama. Cu GDChart, aceasta se efectueaza rapid (si chiar calculeaza procentul pentru tine!):

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::PIE_3D);
 
// seteaza marimea portiunilor si etichetele corespunzatoare
$gdc->addValues(array(50, 30, 100, 20));
$gdc->setLabels(array('UK', 'US', 'Europe', 'India'));
 
// seteaza titlul
$gdc->title = 'ANNUAL SALES BY LOCATION';
 
// seteaza modul de afisare al etichetelor
$gdc->percentLabels = GDChart::LABEL_ABOVE;
$gdc->percentFmt = '%0.2f%%';
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Proprietatea 'percentLabels' ii spune GDChart unde sa afiseze valoarea procentuala aferenta fiecarei portiuni (deasupra, dedesubt, la dreapta sau la stanga), in timp ce proprietatea 'percentFmt' formateaza modul de afisare al procentajelor. Iata rezultatul:

Pagina:
1 2 »
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4155
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4060
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4035
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
3855
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
SEO PSD Gimp HTML Word Lightroom MySQL COREL DRAW Java Illustrator Vista Excel Bridge StyleSheet Action Script Photoshop PHP SWF Fireworks Verilog Outlook Powerpoint JSON Ruby on Rails Sony Vegas XHTML Python Swift 3D Javascript Flash AJAX CSS RoR Dreamweaver XML Fotografie
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software