Graph: ezcGraphRenderer3d
[ ]
[ ]
[ ]
[ ]
[ ]
Class: ezcGraphRenderer3d
|
Class to transform chart primitives into image primitives. This renderer renders the charts in a isometric three dimensional view. [
source]
Implemented Interfaces
1. $graph = new ezcGraphPieChart();
2. $graph->palette = new ezcGraphPaletteEzRed();
3. $graph->title = 'Access statistics';
4. $graph->options->label = '%2$d (%3$.1f%%)';
5.
6. $graph->data['Access statistics'] = new ezcGraphArrayDataSet( array(
7. 'Mozilla' => 19113,
8. 'Explorer' => 10917,
9. 'Opera' => 1464,
10. 'Safari' => 652,
11. 'Konqueror' => 474,
12. ) );
13. $graph->data['Access statistics']->highlight['Explorer'] = true;
14.
15. $graph->renderer = new ezcGraphRenderer3d();
16.
17. $graph->renderer->options->moveOut = .2;
18.
19. $graph->renderer->options->pieChartOffset = 63;
20.
21. $graph->renderer->options->pieChartGleam = .3;
22. $graph->renderer->options->pieChartGleamColor = '#FFFFFF';
23.
24. $graph->renderer->options->pieChartShadowSize = 5;
25. $graph->renderer->options->pieChartShadowColor = '#000000';
26.
27. $graph->renderer->options->legendSymbolGleam = .5;
28. $graph->renderer->options->legendSymbolGleamSize = .9;
29. $graph->renderer->options->legendSymbolGleamColor = '#FFFFFF';
30.
31. $graph->renderer->options->pieChartSymbolColor = '#55575388';
32.
33. $graph->renderer->options->pieChartHeight = 5;
34. $graph->renderer->options->pieChartRotation = .8;
35.
36. $graph->render( 400, 150, 'tutorial_pie_chart_3d.svg' );
Parents
ezcGraphRenderer
|
--ezcGraphRenderer3d
Member Variables
|
protected array |
$axisLabels
= array()
Collect axis labels, so that the axis are drawn, when all axis spaces are known. |
|
protected array |
$barPostProcessing
= array()
Collects bar sides to draw them in a post processing step to simulate a simple z buffer. |
|
protected array |
$circleSectors
= array()
Collects circle sectors to draw shadow in background of all circle sectors. |
|
protected ezcGraphBoundings |
$dataBoundings
= false
Boundings for the chart data |
|
protected float |
$depth
= false
Depth of displayed pseudo three dimensional line chart elements. |
|
protected array |
$frontLines
= array()
Array containing lines from the axis and grid which should be redrawn on top of the data. |
|
protected array |
$linePostSymbols
= array()
Array with symbols for post processing, which ensures, that the symbols are rendered topmost. |
|
protected ezcGraphRenderer3dOptions |
$options
Options |
|
protected ezcGraphBoundings |
$pieSegmentBoundings
= false
Contains the boundings used for pie segments |
|
protected array |
$pieSegmentLabels
= array( 0 => array(),1=>array(),)
Pie segment labels divided into two array, containing the labels on the left and right side of the pie chart center. |
|
protected float |
$xDepthFactor
= false
Factor to reduce the width according to depth |
|
protected float |
$yDepthFactor
= false
Factor to reduce the height according to depth |
Inherited Member Variables
From
ezcGraphRenderer:
Method Summary
|
public void |
drawAxis(
$boundings, $start, $end, $axis, [$labelClass = null] )
Draw axis |
|
public void |
drawBackgroundImage(
$boundings, $file, [$position = 48], [$repeat = ezcGraph::NO_REPEAT] )
Draw background image |
|
public void |
drawBar(
$boundings, $context, $color, $position, $stepSize, [$dataNumber = 1], [$dataCount = 1], [$symbol = ezcGraph::NO_SYMBOL], [$axisPosition = 0.] )
Draw bar |
|
public ezcGraphBoundings |
drawBox(
$boundings, [$background = null], [$borderColor = null], [$borderWidth = 0], [$margin = 0], [$padding = 0], [$title = false], [$titleSize = 16] )
Draw box |
|
protected void |
drawCircularBar(
$context, $color, $position, $barWidth, $offset, $axisPosition, $startDepth, $midDepth, $endDepth, $symbol )
Draws a bar with a circular ground shape. |
|
public void |
drawDataHighlightText(
$boundings, $context, $end, [$axisPosition = 0.], [$dataNumber = 1], [$dataCount = 1], $font, $text, $size, [$markLines = null] )
Draws a highlight textbox for a datapoint. |
|
public void |
drawDataLine(
$boundings, $context, $color, $start, $end, [$dataNumber = 0], [$dataCount = 1], [$symbol = ezcGraph::NO_SYMBOL], [$symbolColor = null], [$fillColor = null], [$axisPosition = 0.], [$thickness = 1.] )
Draw data line |
|
protected void |
drawDiamondBar(
$context, $color, $position, $barWidth, $offset, $axisPosition, $startDepth, $midDepth, $endDepth )
Draws a bar with a diamond ground shape. |
|
public void |
drawGridLine(
$start, $end, $color )
Draw grid line |
|
public void |
drawLegend(
$boundings, $legend, [$type = ezcGraph::VERTICAL] )
Draw legend |
|
public void |
drawPieSegment(
$boundings, $context, $color, [$startAngle = .0], [$endAngle = 360.], [$label = false], [$moveOut = false] )
Draw pie segment |
|
protected void |
drawRectangularBar(
$context, $color, $position, $barWidth, $offset, $axisPosition, $startDepth, $midDepth, $endDepth )
Draws a bar with a rectangular ground shape. |
|
public void |
drawStackedBar(
$boundings, $context, $color, $start, $position, $stepSize, [$symbol = ezcGraph::NO_SYMBOL], [$axisPosition = 0.] )
Draw stacked bar |
|
public void |
drawStepLine(
$start, $end, $color )
Draw step line |
|
public void |
drawText(
$boundings, $text, [$align = ezcGraph::LEFT], [$rotation = null] )
Draw text |
|
protected void |
finish(
)
Call all postprocessing functions |
|
protected void |
finishBars(
)
Draw all collected bar elements |
|
protected void |
finishCirleSectors(
)
Draws the collected circle sectors |
|
protected void |
finishFrontLines(
)
Draw collected front lines |
|
protected void |
finishLineSymbols(
)
Draw the collected line symbols |
|
protected void |
finishPieSegmentLabels(
)
Draws the collected pie segment labels |
|
protected ezcGraphCoordinate |
get3dCoordinate(
$c, [$front = 1.] )
Calculate the display coordinate from a coordinate |
Inherited Methods
From
ezcGraphRenderer :
Methods
drawAxis
Draw axis
Draws an axis form the provided start point to the end point. A specific angle of the axis is not required.
For the labeleing of the axis a sorted array with major steps and an array with minor steps is expected, which are build like this: array( array( 'position' => (float), 'label' => (string), ) ) where the label is optional.
The label renderer class defines how the labels are rendered. For more documentation on this topic have a look at the basic label renderer class.
Additionally it can be specified if a major and minor grid are rendered by defining a color for them. Teh axis label is used to add a caption for the axis.
Parameters
Redefinition of
drawBackgroundImage
void drawBackgroundImage(
$boundings, string
$file, [int
$position = 48], [int
$repeat = ezcGraph::NO_REPEAT] )
Draw background image
Draws a background image at the defined position. If repeat is set the background image will be repeated like any texture.
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Boundings for the background image |
$file |
string |
Filename of background image |
$position |
int |
Position of background image |
$repeat |
int |
Type of repetition |
Redefinition of
drawBar
void drawBar(
$boundings,
ezcGraphContext
$context,
ezcGraphColor
$color,
ezcGraphCoordinate
$position, float
$stepSize, [int
$dataNumber = 1], [int
$dataCount = 1], [int
$symbol = ezcGraph::NO_SYMBOL], [float
$axisPosition = 0.] )
Draw bar
Draws a bar as a data element in a line chart
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Chart boundings |
$context |
ezcGraphContext |
Context of call |
$color |
ezcGraphColor |
Color of line |
$position |
ezcGraphCoordinate |
Position of data point |
$stepSize |
float |
Space which can be used for bars |
$dataNumber |
int |
Number of dataset |
$dataCount |
int |
Count of datasets in chart |
$symbol |
int |
Symbol to draw for line |
$axisPosition |
float |
Position of axis for drawing filled lines |
Redefinition of
drawBox
ezcGraphBoundings drawBox(
$boundings, [
ezcGraphColor
$background = null], [
ezcGraphColor
$borderColor = null], [int
$borderWidth = 0], [int
$margin = 0], [int
$padding = 0], [mixed
$title = false], [int
$titleSize = 16] )
Draw box
Box are wrapping each major chart element and draw border, background and title to each chart element.
Optionally a padding and margin for each box can be defined.
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Boundings of the box |
$background |
ezcGraphColor |
Background color |
$borderColor |
ezcGraphColor |
Border color |
$borderWidth |
int |
Border width |
$margin |
int |
Margin |
$padding |
int |
Padding |
$title |
mixed |
Title of the box |
$titleSize |
int |
Size of title in the box |
Redefinition of
drawCircularBar
Draws a bar with a circular ground shape.
Parameters
drawDataHighlightText
Draws a highlight textbox for a datapoint.
A highlight textbox for line and bar charts means a box with the current value in the graph.
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Chart boundings |
$context |
ezcGraphContext |
Context of call |
$end |
ezcGraphCoordinate |
Ending point |
$axisPosition |
float |
Position of axis for drawing filled lines |
$dataNumber |
int |
Number of dataset |
$dataCount |
int |
Count of datasets in chart |
$font |
ezcGraphFontOptions |
Font used for highlight string |
$text |
string |
Acutual value |
$size |
int |
Size of highlight text |
$markLines |
ezcGraphColor |
|
Redefinition of
drawDataLine
void drawDataLine(
$boundings,
ezcGraphContext
$context,
ezcGraphColor
$color,
ezcGraphCoordinate
$start,
ezcGraphCoordinate
$end, [int
$dataNumber = 0], [int
$dataCount = 1], [int
$symbol = ezcGraph::NO_SYMBOL], [
ezcGraphColor
$symbolColor = null], [
ezcGraphColor
$fillColor = null], [float
$axisPosition = 0.], [float
$thickness = 1.] )
Draw data line
Draws a line as a data element in a line chart
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Chart boundings |
$context |
ezcGraphContext |
Context of call |
$color |
ezcGraphColor |
Color of line |
$start |
ezcGraphCoordinate |
Starting point |
$end |
ezcGraphCoordinate |
Ending point |
$dataNumber |
int |
Number of dataset |
$dataCount |
int |
Count of datasets in chart |
$symbol |
int |
Symbol to draw for line |
$symbolColor |
ezcGraphColor |
Color of the symbol, defaults to linecolor |
$fillColor |
ezcGraphColor |
Color to fill line with |
$axisPosition |
float |
Position of axis for drawing filled lines |
$thickness |
float |
Line thickness |
Redefinition of
drawDiamondBar
Draws a bar with a diamond ground shape.
Parameters
drawGridLine
Draw grid line
Draw line for the grid in the chart background
Parameters
drawLegend
Draw legend
Will draw a legend in the bounding box
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Bounding of legend |
$legend |
ezcGraphChartElementLegend |
Legend to draw; |
$type |
int |
Type of legend: Protrait or landscape |
Redefinition of
drawPieSegment
void drawPieSegment(
$boundings,
ezcGraphContext
$context,
ezcGraphColor
$color, [float
$startAngle = .0], [float
$endAngle = 360.], [mixed
$label = false], [bool
$moveOut = false] )
Draw pie segment
Draws a single pie segment
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Chart boundings |
$context |
ezcGraphContext |
Context of call |
$color |
ezcGraphColor |
Color of pie segment |
$startAngle |
float |
Start angle |
$endAngle |
float |
End angle |
$label |
mixed |
Label of pie segment |
$moveOut |
bool |
Move out from middle for hilighting |
Redefinition of
drawRectangularBar
Draws a bar with a rectangular ground shape.
Parameters
drawStackedBar
Draw stacked bar
Draws a stacked bar part as a data element in a line chart
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Chart boundings |
$context |
ezcGraphContext |
Context of call |
$color |
ezcGraphColor |
Color of line |
$start |
ezcGraphCoordinate |
|
$position |
ezcGraphCoordinate |
|
$stepSize |
float |
Space which can be used for bars |
$symbol |
int |
Symbol to draw for line |
$axisPosition |
float |
Position of axis for drawing filled lines |
drawStepLine
Draw step line
Draw a step (marker for label position) on a axis.
Parameters
drawText
void drawText(
$boundings, string
$text, [int
$align = ezcGraph::LEFT], [
$rotation = null] )
Draw text
Draws the provided text in the boundings
Parameters
| Name |
Type |
Description |
$boundings |
ezcGraphBoundings |
Boundings of text |
$text |
string |
Text |
$align |
int |
Alignement of text |
$rotation |
ezcGraphRotation |
|
Redefinition of
finish
void finish(
)
Call all postprocessing functions
Redefinition of
finishBars
void finishBars(
)
Draw all collected bar elements
Draw all collected bar elements after sorting them depending of their position to simulate simple z buffering.
finishCirleSectors
void finishCirleSectors(
)
Draws the collected circle sectors
All circle sectors are collected and drawn later to be able to render the shadows of the pie segments in the back of all pie segments, and ensure the correct drawing order for all pie segment elements.
finishFrontLines
void finishFrontLines(
)
Draw collected front lines
Draw all grid and axis lines, which should be redrawn in front of the data.
finishLineSymbols
void finishLineSymbols(
)
Draw the collected line symbols
Symbols for the data lines are collected and delayed to ensure that they are not covered and hidden by other data lines.
finishPieSegmentLabels
void finishPieSegmentLabels(
)
Draws the collected pie segment labels
All labels are collected and drawn later to be able to partition the available space for the labels woth knowledge of the overall label count and their required size and optimal position.
get3dCoordinate
Calculate the display coordinate from a coordinate
Calculates the display coordinate of a coordinate depending on the depth setting and the distance of the coordinate to the front of the chart.
Parameters
| Name |
Type |
Description |
$c |
ezcGraphCoordinate |
Coordinate |
$front |
float |
Distance to front (0 - 1) |
Last updated: Wed, 28 Nov 2007