Grafici con PHP e la libreria Pchart
- Gennaio 28, 2010
- by
- Donatantonio
Le utilissime librerie GD di PHP permettono di disegnare e modificare immagini, ben più difficile è realizzare grafici partendo da una serie di dati o da un database.
La libreria PChart permette di fare tutto ciò con estrema semplicità e tutto in poche linee di codice, realizzeremo grafici a barre, a torta e lineari utilizzando al meglio le librerie GD.
E’ innanzitutto necessario scaricare PChart da qui.
Vediamo ora come realizzare un semplice grafico utilizzando la libreria.
<?php // importiamo la libreria include("pChart/pData.class"); include("pChart/pChart.class"); // carico i valori da rappresentare graficamente - utilizzo 2 array $DataSet = new pData; $DataSet->AddPoint(array(0,3,6,2,3,1,4,8,10,6,3,5,6),"Serie1"); $DataSet->AddPoint(array(0,1,3,4,1,3,7,5,6,7,3,8,5),"Serie2"); $DataSet->AddAllSeries(); // imposto la legenda $DataSet->SetSerieName("La prima serie","Serie1"); $DataSet->SetSerieName("La seconda serie","Serie2"); // imposto un nome agli assi cartesiani $DataSet->SetXAxisName("Mesi"); $DataSet->SetYAxisName("Valore raggiunto"); $Test = new pChart(500,250); // imposto l'aspetto del grafico $Test->setFixedScale(0,11); $Test->setFontProperties("Fonts/tahoma.ttf",8); $Test->setGraphArea(50,40,500,210); $Test->drawFilledRoundedRectangle(7,7,543,243,5,240,240,240); $Test->drawRoundedRectangle(5,5,550,250,5,400,400,400); $Test->drawGraphArea(255,255,255,TRUE); $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(), SCALE_NORMAL,150,150,150,TRUE,0,0); $Test->drawGrid(10,TRUE,230,230,230,50); // imposto il tipo di grafico - lineare, curvilineo, torta ecc... $Test->setColorPalette(0,0,255,0); $Test->setLineStyle(1.5); $Test->drawTreshold(0,143,55,72,TRUE,TRUE); $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription()); $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(), 1.5,1.5,0,0,255); // imposto titolo e legenda del grafico e quindi lo realizzo $Test->drawLegend(55,40,$DataSet->GetDataDescription(),255,255,255); $Test->setFontProperties("Fonts/tahoma.ttf",10); $Test->drawTitle(100,22,"Il primo grafico",0,0,100); $Test->Render("grafico.png"); ?>
Quello che abbiamo realizzato è un semplice grafico introduttivo. Studiando la documentazione di PChart si potranno realizzare grafici complessi e graficamente accattivanti. Si potrà ad esempio prelevare i dati da un file excel, personalizzare gli assi cartesiani, i colori e le scale e sbizzarrirsi a creare grafici tridimensionali.
Ecco il risultato del nostro script: