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

Argument | Default | Description
--- | --- | ---
&$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.

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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

Argument | Default | Description
--- | --- | ---
$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.