SourceForge.net  |  Sunyday.net
Last release: 1.27d
a PHP Class to build Charts
pChart 2.x is born, you can start moving your script to this new version. The new website is at www.pchart.net.
Overview  |  Screenshots  |  Download  |  Add-ons  |  Demonstration  |  Support  |  :: Documentation ::
Documentation Contents
Overview
Class definition
FAQ
Digging with pChart
Basic Examples
Line graph
Cubic curve graph
Bar Graph
Stacked Bar Graph
Overlay Bar graph
Line + Area
Limits graph
Filled line graph
Filled cubic graph
Radar graph
Basic Pie graph
Exploded Pie graph
3D Pie graph
Scatter charts
Advanced Examples
Example #9 - Graph labels

This example shows how to add labels to a chart. Data are manualy set using the AddPoint() method of the pData class. The graph function called is drawLineGraph() overlayed by a drawPlotGraph(). Two labels are added using the setLabel() function. Running this script will create a example9.png file in the current directory.

Output :


Source code :
  1. <?php  
  2. // Standard inclusions     
  3. include("pChart/pData.class");  
  4. include("pChart/pChart.class");  
  5.   
  6. // Dataset definition   
  7. $DataSet = new pData;  
  8. $DataSet->AddPoint(array(0,70,70,0,0,70,70,0,0,70),"Serie1");  
  9. $DataSet->AddPoint(array(0.5,2,4.5,8,12.5,18,24.5,32,40.5,50),"Serie2");  
  10.   
  11. $DataSet->AddAllSeries();  
  12. $DataSet->SetAbsciseLabelSerie();  
  13. $DataSet->SetSerieName("January","Serie1");  
  14. $DataSet->SetSerieName("February","Serie2");  
  15.   
  16. // Initialise the graph  
  17. $Test = new pChart(700,230);  
  18. $Test->setFontProperties("Fonts/tahoma.ttf",8);  
  19. $Test->setGraphArea(50,30,585,200);  
  20. $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
  21. $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
  22. $Test->drawGraphArea(255,255,255,TRUE);  
  23. $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),5,150,150,150,TRUE,0,2);  
  24. $Test->drawGrid(4,TRUE,230,230,230,50);  
  25.   
  26. // Draw the 0 line  
  27. $Test->setFontProperties("Fonts/tahoma.ttf",6);  
  28. $Test->drawTreshold(0,143,55,72,TRUE,TRUE);  
  29.   
  30. // Draw the line graph  
  31. $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());  
  32. $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);  
  33.   
  34. // Set labels  
  35. $Test->setFontProperties("Fonts/tahoma.ttf",8);  
  36. $Test->setLabel($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","2","Daily incomes",221,230,174);  
  37. $Test->setLabel($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie2","6","Production break",239,233,195);  
  38.   
  39. // Finish the graph  
  40. $Test->setFontProperties("Fonts/tahoma.ttf",8);  
  41. $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);  
  42. $Test->setFontProperties("Fonts/tahoma.ttf",10);  
  43. $Test->drawTitle(50,22,"Example 9",50,50,50,585);  
  44. $Test->Render("example9.png");  
  45. ?>  
If you want to send the picture directly in a browser, replace the Render() command by Stroke().


Last updated on 05/16/2008