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:



