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 #7 - Creating a filled cubic curve graph

This example shows how to create a simple cubic curve graph containing two data series. Data are manualy set using the AddPoint() method of the pData class. The graph function called is drawFilledCubicCurve() specifying a precision of .1 and a transparency factor of 50%. Running this script will create a example7.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(1,4,2,6,2,3,0,1,5,1,2,4,5,2,1,0,6,4,2),"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 cubic curve graph  
  30.  $Test->drawFilledCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription(),.1,50);  
  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 7",50,50,50,585);  
  37.  $Test->Render("example7.png");  
  38. ?>  
If you want to send the picture directly in a browser, replace the Render() command by Stroke().


Last updated on 05/16/2008