CLASS PiePlot3D EXTENDS PiePlot
(Defined in: jpgraph_pie3d.php : 17)
 PiePlot3D  PiePlot  
 PiePlot3d() 
 SetAngle() 
 SetCSIMTargets() 
 SetEdge() 
 SetHeight() 
 SetLabelMargin() 
 SetLabels() 
 SetLegends() 
 SetSliceColors() 
 SetStartAngle() 
 ShowBorder() 
 
 

Class usage and Overview
A 3D pie plot is much like a normal pie plot but in a 3D setting. You can control the apperance by specifying the angle of attack for the pie. A small angle show a very "flat" pie while a large angle shows almost a 2D pie. Please note that a 3D pie is much more CPU intensive to draw then the normal pie. To reduce the time you might want to keep the height of the pie as small as you think looks good. The height has a direct linear impact on how long it takes to draw a 3D pie. (See SetHeight()). To view a 3D pieplot you start by constructing a PieGraph() and then adding a numerb of constructed PiePlot3D to this graph.

 

See also related classes:
PieGraph and PiePlot

 


Class Methods

 

 

function PiePlot3d(&$data)
Construct a new 3D pie plot

ArgumentDefaultDescription
&$data  Data array for slices

Description
This creates a new pie plot using the data supplied. This plot can then be added to the pie graph. 

Example

$pieplot3d = new PiePlot3d($ydata);

$piegraph->Add($pieplot3d);

 

 

function SetAngle($a)
Specify projection angle for 3D in degrees.

ArgumentDefaultDescription
$a  Projection angle in degrees

Description
Specify projection angle for 3D in degrees. Must be between 10 and 80 degrees. A small angle will make the pie very flat and a large angle will make it present much more of pie circle. 

Example

$pieplot->SetAngle(45);

 

 

function SetCSIMTargets($targets,$alts)
Specify URL for each slice for the image map

ArgumentDefaultDescription
$targets  Array of URL targets
$alts null Array of Alt texts

Description
Specify URL for each slice for the image map 

Example

$targets = array('nextimage.php?1', 'nextimage.php?2', 'nextimage.php?3');
// Show the actual value in the alt text when user hovers the
// cursor over the slice
$alts = array('More details..(%.1f)', 'More details..(%.1f)', 'More details..(%.1f)' );
$pie->SetCSIMTargets($targets,$alts);

 

 

function SetEdge($aColor,$aWeight)
Add a line around pie slices

ArgumentDefaultDescription
$aColor 'black' Color for line
$aWeight 1 Width of line

Description
Specify if the slices should be separated by a line? If color is specified as "" no line will be used to separate pie slices. Default is to not show any lines. 

Example

$pieplot3d->SetEdge('blue',1);

 

 

function SetHeight($aHeight)
Specify thickness of the 3D pie plot

ArgumentDefaultDescription
$aHeight  Height in pixels

Description
Specify thickness of 3D pie plot. To minimize CPU usuage you should try to keep the thickness to the visual accepatble minimum. 

Example

$pieplot->SetHeight(20);

 

 

function SetLabelMargin($m)
Specify the distance from the pie to the labels

ArgumentDefaultDescription
$m  Margin in pixels

Description
Specify the distance from the pie to the labels 

Example

$pieplot3d->SetLabelMargin(20);

 

 

function SetLabels($aLabels,$aLblPosAdj)
Specify slice labels for 3D pies

ArgumentDefaultDescription
$aLabels  Label arrays
$aLblPosAdj "auto" Label position [0.2- 1]

Description
Specify slice labels for 3D pies. Positoin specify the fraction of the radius wher the labels should be positoined. A values of 1 will position the labels outside the pie.

The labels may include an optional sprintf() formatting string. Before stroking the label to the graph it will be formatted with the actual value (absolute or percentage) depending on what has been specified with the SetLabelType() method.  
 

See also
PiePlot::SetLabelType

Example

// Specify explicit labels and position them outside the pie
$p1->SetLabels(array("Jan\n%.1f%%","Feb\n%.1f%%","Mar\n%.1f%%","Apr\n%.1f%%"),1);

 

 

function SetLegends($aLegend)
Set legends for slices

ArgumentDefaultDescription
$aLegend  Array of legends

Description
Set legends for slices 

Example

$plot->SetLegends(array('Jan','Feb','Mar','Apr');

 

 

function SetSliceColors($aColors)
Specify color of the individual slices

ArgumentDefaultDescription
$aColors  Array of colors

Description
Specify color of the individual slices. If there are more slices than colors then the colors will wrap around. 

Example

$pieplot->SetSliceColors(array('red','blue','green','navy','orange'));

 

 

function SetStartAngle($aStart)
Specify start angle for first slice in the Pie

ArgumentDefaultDescription
$aStart  Start angle (in degrees)

Description
Specify the start angle in degrees for the first slice in the Pie. Angles are counted counter-clockwise starting at "3'clock". 

Example

$pieplot->SetStartAngle(45);

 

 

function ShowBorder($exterior,$interior)
Select which borders on the pie should be displayed

ArgumentDefaultDescription
$exterior true Display interior borders
$interior true Display exterior borders

Description
Select which borders should be displayed. Note that when anti-aliasing is enabled no borders can be shown.