Contents
Login Register Wishes Forum About
Language Reference » Dataset functions » createFunctionSerie
Help topics
Latest updates
4616d  replaceImageMapTitle
4616d  replaceImageMapValues
4616d  createFunctionSerie
4616d  setAbsicssaPosition
4616d  negateValues
Toolbox
  Download as PDF
  Print this page
  Share this page
  Create an account
  Feed the updates!
Google AdSense
createFunctionSerie - Create a serie based on a formula

This function allow you to create a data serie based on a mathematical formula. It is possible to set extra parameters with the $Option array. To learn more about this please read the Format array guide.

Note that the variable in this formula is named z.


Calling this function
createFunctionSerie($SerieName,$Formula="",$Options="");
Where :

SerieName is the name of the serie to create.
Formula is the mathematical formula to evaluate.
Option is an array containing some extra parameters.


Customisation array - Extra parameters

It is possible to give extra parameters to the evaluation engine. If nothing is provided, the z variable will be evaluated between -10 to +10 with a step of 1.

The range to evaluate can be defined with MinX and MaxX.
The resolution can be set with XStep.
You can name the serie based on the formula setting AutoDescription to TRUE.
You can record an abscissa serie setting RecordAbscissa to TRUE.
You can provide the abscissa serie name with AbscissaSerie.

Sample script #1



 /* pChart library inclusions */ 
 include("../class/pData.class.php"); 
 include("../class/pDraw.class.php"); 
 include("../class/pImage.class.php"); 

 /* Create and populate the pData object */ 
 $MyData = new pData();   
 $MyData->createFunctionSerie("Serie 1","log(z)",array("AutoDescription"=>TRUE,"MinX"=>-10,"MaxX"=>10,"XStep"=>1,"RecordAbscissa"=>TRUE,"AbscissaSerie"=>"Labels"));
 $MyData->createFunctionSerie("Serie 2","z*z*z",array("AutoDescription"=>TRUE,"MinX"=>-10,"MaxX"=>10,"XStep"=>1));
 $MyData->createFunctionSerie("Serie 3","(z*15)*z",array("AutoDescription"=>TRUE,"MinX"=>-10,"MaxX"=>10,"XStep"=>1));
 $MyData->setAxisName(0,"functions"); 
 $MyData->setAbscissa("Labels"); 

 /* Create the pChart object */ 
 $myPicture = new pImage(700,230,$MyData); 

 /* Turn of Antialiasing */ 
 $myPicture->Antialias = FALSE; 

 /* Draw the background */ 
 $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
 $myPicture->drawFilledRectangle(0,0,700,230,$Settings);  

 /* Overlay some gradients */ 
 $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
 $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);  
 $myPicture->drawGradientArea(540,0,700,30,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
 
 /* Add a border to the picture */ 
 $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); 
 $myPicture->drawRectangle(540,0,699,31,array("R"=>0,"G"=>0,"B"=>0)); 

 /* Write the chart title */  
 $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>20));
 $myPicture->drawText(110,35,"Functions computing",array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
 
 /* Set the default font */ 
 $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
 
 /* Define the chart area */ 
 $myPicture->setGraphArea(60,40,650,200); 

 /* Draw the scale */ 
 $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200, "GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
 $myPicture->drawScale($scaleSettings); 

 /* Turn on Antialiasing */ 
 $myPicture->Antialias = TRUE; 

 /* Turn on shadows */ 
 $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
 
 /* Draw the 0 threshold */ 
 $myPicture->drawThreshold(0,array("Alpha"=>70,"Ticks"=>1)); 
 $myPicture->drawXThreshold(10,array("Alpha"=>70,"Ticks"=>1)); 

 /* Draw a zone chart */ 
 $myPicture->drawZoneChart("Serie 2","Serie 3",array("AreaR"=>200,"AreaAlpha"=>30));
 
 /* Draw the line chart */ 
 $myPicture->drawLineChart(); 
 $myPicture->drawPlotChart(array("PlotBorder"=>TRUE,"BorderSize"=>1,"Surrounding"=>-60,"BorderAlpha"=>80));
 
 /* Write the chart legend */ 
 $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11,"R"=>255,"G"=>255,"B"=>255));
 $myPicture->drawLegend(560,15,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
 
 /* Render the picture (choose the best way) */ 
 $myPicture->autoOutput("pictures/example.createFunctionSerie.png"); 
Last updated on 09/09/2011 
by Jean-Damien 
Linked resources
  There is no linked topic yet.
Community comments
  No comments have been posted yet.
© Copyrights
Components used on this web site : Famfamfam icons has been made by Mark James, Rounded corners lite has been coded by Cameron Cooke and Tim Hutchison, SyntaxHighlighter has been written by Alex Gorbatchev. pChart and this web site have been created by Jean-Damien POGOLOTTI. This documentation contains 185 pages and 56 comments. 415 users have registered. This page has been rendered in 0,19 seconds. Wiki revision 1.37.