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 I

15.06.2009
Crearea dinamica a graficelor si tabelelor cu PHP si GDChart - Partea I

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: 6969 6969 afisari   |   Comentarii  0   |   Rating   |   (3 voturi)   |   Timp necesar: 40 min 40 min   |   Nivel de cunostiinte necesar: Avansat  Avansat

Sursa:  Devzone.zend.com  
Autor:  Devzone.zend.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 12 3
comenteaza printeaza

Un ochi format pentru culoare

Ajustarea culorilor graficului se realizeaza cu ajutorul metodei setColors() si a proprietatilor 'bgColor', 'gridColor' si 'lineColor'. Metoda setColors() accepta o gama de culori (in notatie hexazecimala) pentru grafic, in timp ce proprietatile 'bgColor', 'gridColor' si 'lineColor' controleaza culoarea de fundal, culoarea barelor si culoarea conturului barelor. Iata un exemplu ce ilustreaza aceste proprietati si metode:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::BAR);
 
// adauga valori
$gdc->addValues(array(18234, 16484, 16574, 17464, 19474));
 
// adauga etichetele pentru axa X
$gdc->setLabels(array('2002', '2003', '2004', '2005', '2006'));
 
// seteaza titluri
$gdc->title = 'ANNUAL RAINFALL';
$gdc->xtitle = 'MM';
$gdc->ytitle = 'YEAR';
 
// seteaza culori
$gdc->setColors(array(0x0000a0));
$gdc->bgColor = 0xffffff;
$gdc->gridColor = 0xff0080;
$gdc->lineColor = 0xff0080;
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Acest exemplu coloreaza fundalul in alb, barele in albastru si contururile in roz. Prea tipator? Poate ca da, poate ca nu..iata rezultatul:

Daca vrei, poti sa colorezi fiecare bara a graficului in alta culoare prin metoda setExtColors(). Iata un exemplu:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::BAR);
 
// adauga valori
$gdc->addValues(array(18234, 16484, 16574, 17464, 19474));
 
// adauga etichetele pentru axa X
$gdc->setLabels(array('2002', '2003', '2004', '2005', '2006'));
 
// seteaza titluri
$gdc->title = 'ANNUAL RAINFALL';
$gdc->xtitle = 'MM';
$gdc->ytitle = 'YEAR';
 
// seteaza culorile pentru fiecare bara
$gdc->setExtColors(array(0x00ff00,0x0000ff,0xff0000,0xffff00,0xff00ff));
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Si iata rezultatul:

In plus, poti personaliza culorile etichetelor si ale titlurilor axelor X si Y, ale titlului si conturului diagramei, precum si a marginilor. Iata un exemplu:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::BAR);
 
// adauga valori
$gdc->addValues(array(18234, 16484, 16574, 17464, 19474));
 
// adauga etichetele pentru axa X
$gdc->setLabels(array('2002', '2003', '2004', '2005', '2006'));
 
// seteaza titluri
$gdc->title = 'ANNUAL RAINFALL';
$gdc->xtitle = 'MM';
$gdc->ytitle = 'YEAR';
 
// seteaza culori
$gdc->setColors(array(0x0000a0));
$gdc->titleColor = 0x00ffff;
$gdc->xtitleColor = 0xff0000;
$gdc->ytitleColor = 0x00ff00;
$gdc->xlabelColor = 0xff0000;
$gdc->ylabelColor = 0x00ff00;
 
// seteaza gridul si contururile
$gdc->grid = 0;
$gdc->zeroShelf = 1;
$gdc->border = GDChart::BORDER_Y;
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Proprietatile 'titleColor', 'xtitleColor', 'ytitleColor', 'xlabelColor' si 'ylabelColor' ar trebui sa nu necesite explicatii, dar proprietatile 'grid', 'zeroShelf' si 'border' necesita cateva lamuriri. Proprietatea 'grid' controleaza gridul de pe fundalul diagramei, in timp ce proprietatea 'zeroShelf' indica daca va fi afisata sau nu axa orizontala X. Proprietatea 'border' controleaza conturul diagramei si poate accepta orice valoare dintre urmatoarele: BORDER_NONE, BORDER_ALL, BORDER_X, BORDER_Y, BORDER_Y2 sau BORDER_TOP. Iata rezultatul:

Proprietatile 'titleSize', 'xtitleSize' si 'ytitleSize' iti permit sa controlezi dimensiunea titlului graficului, a titlului axelor X si Y; acestea pot fi setate la oricare dintre urmatoarele valori: FONT_TINY, FONT_SMALL, FONT_MEDBOLD, FONT_LARGE sau FONT_GIANT. In mod similar, proprietatea 'barWidth' permite un control exact al latimii fiecarei componente dintr-un grafic de tip bara. Iata un exemplu al utilizarii acestor proprietati:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::BAR);
 
// adauga valori
$gdc->addValues(array(18234, 16484, 16574, 17464, 19474));
 
// adauga etichetele pentru axa X
$gdc->setLabels(array('2002', '2003', '2004', '2005', '2006'));
 
// seteaza titluri
$gdc->title = 'ANNUAL RAINFALL';
$gdc->xtitle = 'MM';
$gdc->ytitle = 'YEAR';
 
// seteaza culori
$gdc->setColors(array(0x0000a0));
$gdc->titleColor = 0x00ffff;
$gdc->xtitleColor = 0xff0000;
$gdc->ytitleColor = 0x00ff00;
$gdc->xlabelColor = 0xff0000;
$gdc->ylabelColor = 0x00ff00;
 
// seteaza latimea barelor si marimea titlurilor
$gdc->barWidth = 50;
$gdc->xtitleSize = GDChart::FONT_LARGE;
$gdc->ytitleSize = GDChart::FONT_LARGE;
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Si iata rezultatul:

In final, proprietatea 'bgImage' iti permite sa plasezi o imagine GIF ca fundal pentru grafic. Iata un exemplu:

<?PHP
// initializeaza obiectul cu tipul de grafic
$gdc = new GDChart(GDChart::BAR);
 
// adauga valori
$gdc->addValues(array(18234, 16484, 16574, 17464, 19474));
 
// adauga etichetele pentru axa X
$gdc->setLabels(array('2002', '2003', '2004', '2005', '2006'));
 
// seteaza titluri
$gdc->title = 'ANNUAL RAINFALL';
$gdc->xtitle = 'MM';
$gdc->ytitle = 'YEAR';
 
// seteaza culori
$gdc->setColors(array(0x0000a0));
$gdc->titleColor = 0x00ffff;
$gdc->xtitleColor = 0xff0000;
$gdc->ytitleColor = 0x00ff00;
$gdc->xlabelColor = 0xff0000;
$gdc->ylabelColor = 0x00ff00;
 
// seteaza imaginea de fundal
$gdc->bgImage = 'logo.gif';
 
// genereaza si afiseaza graficul
header('Content-Type:image/png');
echo $gdc->out(300,200,GDChart::PNG);
?>

Si iata rezultatul:

Pagina:
« 12 3
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(3 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
4425
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4320
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4280
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4120
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Illustrator JSON Sony Vegas AJAX COREL DRAW XHTML Bridge Vista CSS PSD Dreamweaver Java Lightroom Word Gimp Swift 3D Javascript Photoshop Excel HTML XML PHP Fireworks Powerpoint Python Action Script StyleSheet SEO Outlook RoR SWF Fotografie MySQL Ruby on Rails Flash Verilog
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