Contents
Login Register Wishes Forum About
Language Reference » Charting functions » drawZoneChart
Help topics
Latest updates
4574d  replaceImageMapTitle
4574d  replaceImageMapValues
4574d  createFunctionSerie
4574d  setAbsicssaPosition
4574d  negateValues
Toolbox
  Download as PDF
  Print this page
  Share this page
  Create an account
  Feed the updates!
Google AdSense
drawZoneChart - Draw a zone chart between two data series

This function allows you to draw a zone chart betwenn two data. All the drawing parameters are given trough a $Format array. To learn more about this please read the Format array guide.

Calling this function
drawZoneChart ($SerieA,$SerieB,$Format="");
Where :
SerieA is the name of the 1st data serie to use.
SerieB is the name of the 2nd data serie to use.
Format is an array containing the drawing parameters of the chart.


Customisation array - Tune up your chart!

It is possible to customize the rendering by playing with this array. Providing a detailled configuration is not mandatory. You‘ll see below a representation of all the customization possible :

You can choose on which axis to bind the zone chart AxisID.
You can choose the border line colors with LineR,LineG,LineB,LineAlpha.
You can choose the border ticks intercal with LineTicks.
You can choose the filling colors with AreaR,AreaG,AreaB,AreaAlpha.


Sample script


 /* 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();
 for($i=0; $i<=10;$i=$i+.2)
  {
   $MyData->addPoints(log($i+1)*10,"Bounds 1");
   $MyData->addPoints(log($i+3)*10+rand(0,2)-1,"Probe");
   $MyData->addPoints(log($i+6)*10,"Bounds 2");
   $MyData->addPoints($i*10,"Labels");
  }
 $MyData->setAxisName(0,"Size (cm)");
 $MyData->setSerieDescription("Labels","Months");
 $MyData->setAbscissa("Labels");
 $MyData->setAbscissaName("Time (years)");

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

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

 /* Add a border to the picture */
 $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
 
 /* Write the chart title */ 
 $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
 $myPicture->drawText(150,35,"Size by time generations",array("FontSize"=>20,"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(40,40,680,200);

 /* Draw the scale */
 $scaleSettings = array("LabelSkip"=>4,"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;

 /* Draw the line chart */
 $myPicture->drawZoneChart("Bounds 1","Bounds 2");
 $MyData->setSerieDrawable(array("Bounds 1","Bounds 2"),FALSE);

 /* Draw the line chart */
 $myPicture->drawStepChart();

 /* Write the chart legend */
 $myPicture->drawLegend(640,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));

 /* Render the picture (choose the best way) */
 $myPicture->autoOutput("pictures/example.drawZoneChart.png");
Last updated on 08/03/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,21 seconds. Wiki revision 1.37.