Contents
Login Register Wishes Forum About
Language Reference » Scatter chart » drawScatterLegend
Help topics
Latest updates
4575d  replaceImageMapTitle
4575d  replaceImageMapValues
4575d  createFunctionSerie
4575d  setAbsicssaPosition
4575d  negateValues
Toolbox
  Download as PDF
  Print this page
  Share this page
  Create an account
  Feed the updates!
Google AdSense
drawScatterLegend - Write the legend of the active data series

This function will write the legend of your data series based on the description tag specified using the setScatterSerieDescription function. It is possible to tune the rendering by playing with the $Format array. To learn more about this please read the Format array guide.

This function accept the same parameters than the drawLegend function.

If you want to specify multi-line labels then you can use the "backslash n" line break character in the serie description tag.

This function preserves your serie special settings (ticks, weight) only in the LEGEND_FAMILY_LINE mode.

Calling this function
drawScatterLegend($X,$Y,$Format="");
Where :

X and Y are the coordinates where will be drawn the legend.
Format is an array containing the drawing parameters of the arrow.


Customisation array - Tune up your legend!

It is possible to customize the way your legend will be rendered by playing with this array. Providing a detailled configuration is not mandatory, by default the legend will be drawn in a soft grey box with curvy corners.

You can specify the font file that will be used with FontName.
You can specify the font size with FontSize.
You can specify the font color with FontR, FontG, FontB.
You can specify the width of the colored boxes with BoxWidth.
You can specify the height of the colored boxes with BoxHeight.
You can specify the inner margins with Margin.
You can specify the background color with R, G, B.
You can specify the background alpha with Alpha.
You can specify the border color using BorderR, BorderG, BorderB.
You can use the Surrounding option to define the border color. This value will be added to the R,G,B factors to define the border color.

You can choose the style that will be applied to you legend box using the Style parameter :

LEGEND_NOBORDER no borders will be drawn around the legend.
LEGEND_BOX a rectangle will be drawn around the legend.
LEGEND_ROUND a rounded rectangle will be drawn around the legend.

You can also define the way the legend will be written using the Mode parameter :

LEGEND_VERTICAL that will stack vertically the series.
LEGEND_HORIZONTAL that will stack horizontally the series.


Finally you can choose the way your data serie will be drawn using the Family parameter :

LEGEND_FAMILY_BOX to use filled rectangles.
LEGEND_FAMILY_CIRCLE to use filled circles.
LEGEND_FAMILY_LINE to use lines. (preserving the Width & Ticks options)


Sample script



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

 /* Create the pData object */
 $myData = new pData();  

 /* Create the X axis and the binded series */
 for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
 for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
 $myData->setAxisName(0,"Index");
 $myData->setAxisXY(0,AXIS_X);
 $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);

 /* Create the Y axis and the binded series */
 for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
 $myData->setSerieOnAxis("Probe 3",1);
 $myData->setAxisName(1,"Degree");
 $myData->setAxisXY(1,AXIS_Y);
 $myData->setAxisUnit(1,"°");
 $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);

 /* Create the 1st scatter chart binding */
 $myData->setScatterSerie("Probe 1","Probe 3",0);
 $myData->setScatterSerieDescription(0,"This year");
 $myData->setScatterSerieTicks(0,4);
 $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));

 /* Create the 2nd scatter chart binding */
 $myData->setScatterSerie("Probe 2","Probe 3",1);
 $myData->setScatterSerieDescription(1,"Last Year");

 /* Create the pChart object */
 $myPicture = new pImage(400,400,$myData);

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

 /* Overlay with a gradient */
 $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
 $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
 $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));

 /* Write the picture title */ 
 $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
 $myPicture->drawText(10,13,"drawScatterLineChart() - Draw a scatter line chart",array("R"=>255,"G"=>255,"B"=>255));

 /* Add a border to the picture */
 $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));

 /* Set the default font */
 $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
 
 /* Set the graph area */
 $myPicture->setGraphArea(50,50,350,350);

 /* Create the Scatter chart object */
 $myScatter = new pScatter($myPicture,$myData);

 /* Draw the scale */
 $myScatter->drawScatterScale();

 /* Turn on shadow computing */
 $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));

 /* Draw a scatter plot chart */
 $myScatter->drawScatterLineChart();

 /* Draw the legend */
 $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));

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