0

I am using the following code to draw a graph, but witout success:

<?php
$cwd = getcwd();
include($cwd."\pChart\class\pData.class.php");
include($cwd."\pChart\class\pDraw.class.php");
include($cwd."\pChart\class\pImage.class.php");
include($cwd."\pChart\class\pChart.class.php");

// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7));
$DataSet->AddSerie();
$DataSet->SetSerieName("Sample data","Serie1");

// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->setGraphArea(40,30,680,200);
$Test->drawGraphArea(252,252,252);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
$Test->drawGrid(4,TRUE,230,230,230,255);

// Draw the line graph
$Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
$Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);

// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(45,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->drawTitle(60,22,"My pretty graph",50,50,50,585);
$Test->Render("Naked.png");  
?>

Same as on http://pchart.sourceforge.net/documentation.php; any help is appreciated. Thanks.

Thanatos
  • 42,585
  • 14
  • 91
  • 146
Shakeel
  • 23
  • 7

1 Answers1

0

Customizing plot charts

Since release 1.27b it is possible to associate a picture (only GIF files are supported) to one data serie. This picture will replace the bubles while drawing a plot chart. First associate one picture to one serie calling the SetSerieSymbol function of the pData class. The title of the chart is written over the grap area using the drawTextBox function setting a transparency factor of 30%

Running this script will create a example22.png file in the current directory.

Output :

<?php  
 // Standard inclusions  
 include("pChart/pData.class");  
 include("pChart/pChart.class");  

 // Dataset definition  
 $DataSet = new pData;  
 $DataSet->AddPoint(array(60,70,90,110,100,90),"Serie1");  
 $DataSet->AddPoint(array(40,50,60,80,70,60),"Serie2");  
 $DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May","Jun"),"Serie3");  
 $DataSet->AddSerie("Serie1");  
 $DataSet->AddSerie("Serie2");  
 $DataSet->SetAbsciseLabelSerie("Serie3");  
 $DataSet->SetSerieName("Company A","Serie1");  
 $DataSet->SetSerieName("Company B","Serie2");  
 $DataSet->SetYAxisName("Product sales");  
 $DataSet->SetYAxisUnit("k");  
 $DataSet->SetSerieSymbol("Serie1","Sample/Point_Asterisk.gif");  
 $DataSet->SetSerieSymbol("Serie2","Sample/Point_Cd.gif");  

 // Initialise the graph     
 $Test = new pChart(700,230);  
 $Test->setFontProperties("Fonts/tahoma.ttf",8);  
 $Test->setGraphArea(65,30,650,200);  
 $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
 $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
 $Test->drawGraphArea(255,255,255,TRUE);  
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);  
 $Test->drawGrid(4,TRUE,230,230,230,50);  

 // Draw the title  
 $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);  
 $Title = "Comparative product sales for company A & B  ";  
 $Test->drawTextBox(65,30,650,45,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);  

 // Draw the line graph  
 $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());  
 $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);  

 // Draw the legend  
 $Test->setFontProperties("Fonts/tahoma.ttf",8);  
 $Test->drawLegend(80,60,$DataSet->GetDataDescription(),255,255,255);  

 // Render the chart  
 $Test->Render("example22.png");  
?>