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 #3 - Creating an overlay bar graph

This example shows how to create a simple bar graph containing two data series. Data are manualy set using the AddPoint() method of the pData class. The graph function called is drawBarGraph() without extended parameters. Running this script will create a example3.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(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1");  
  9.  $DataSet->AddPoint(array(0,3,-4,1,-2,2,1,0,-1,6,3,-4,1,-4,2,4,0,-1,6),"Serie2");  
  10.  $DataSet->AddAllSeries();  
  11.  $DataSet->SetAbsciseLabelSerie();  
  12.  $DataSet->SetSerieName("January","Serie1");  
  13.  $DataSet->SetSerieName("February","Serie2");  
  14.   
  15.  // Initialise the graph  
  16.  $Test = new pChart(700,230);  
  17.  $Test->setFontProperties("Fonts/tahoma.ttf",8);  
  18.  $Test->setGraphArea(50,30,585,200);  
  19.  $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
  20.  $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
  21.  $Test->drawGraphArea(255,255,255,TRUE);  
  22.  $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);     
  23.  $Test->drawGrid(4,TRUE,230,230,230,50);  
  24.   
  25.  // Draw the 0 line  
  26.  $Test->setFontProperties("Fonts/tahoma.ttf",6);  
  27.  $Test->drawTreshold(0,143,55,72,TRUE,TRUE);  
  28.   
  29.  // Draw the bar graph  
  30.  $Test->drawOverlayBarGraph($DataSet->GetData(),$DataSet->GetDataDescription());  
  31.   
  32.  // Finish the graph  
  33.  $Test->setFontProperties("Fonts/tahoma.ttf",8);  
  34.  $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);  
  35.  $Test->setFontProperties("Fonts/tahoma.ttf",10);  
  36.  $Test->drawTitle(50,22,"Example 3",50,50,50,585);  
  37.  $Test->Render("example3.png");  
  38. ?>  
If you want to send the picture directly in a browser, replace the Render() command by Stroke().


Last updated on 05/15/2008