Path

ez components / documentation / api reference / latest / graph


eZ Components latest

Graph: ezcGraphChartElementAxis

[ Tutorial ] [ Gallery ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcGraphChartElementAxis

Class to represent an axis as a chart element [source]
Chart elements can be understood as widgets or layout container inside the chart. The actual transformation to images happens inside the renderers. They represent all elements inside the chart and contain mostly general formatting options, while the renderer itself might define additional formatting options for some chart elments. You can find more about the general formatting options for chart elements in the base class ezcGraphChartElement.
The axis elements are special elements, as the border and background settings do not apply directly as axis axis are not put inside any boxes. The border value is reused for the color of the axis itself.
Generally you should select the axis which matches your data best. By default a labeled x axis and a numeric y axis are used. If you are using date or time values on either axis, you should for example use a ezcGraphChartElementDateAxis. The currently available axis types are:
  • ezcGraphChartElementDateAxis
  • ezcGraphChartElementLabeledAxis
  • ezcGraphChartElementLogarithmicalAxis
  • ezcGraphChartElementNumericAxis
Beside this there are several option to define the general layout of the axis labels. The $formatString option may be used to add additional text to each label on the axis, like a percent sign on the y axis:
 1.   $chart->xAxis->formatString '%s %%';
For more complex formatting operations for the label you may assign a custom formatter function to the property $labelCallback.
The orientation of labels and their position relatively to the axis ticks is calcualted and rendered by the ezcGraphAxisLabelRenderer classes. You can choose between different axis label renderer, or create you own, and assign an instance of one to the property $axisLabelRenderer. Currently the available axis label renderers are:
  • ezcGraphAxisBoxedLabelRenderer
Renders grid and labels like commonly used in bar charts, with the label between two grid lines.
  • ezcGraphAxisCenteredLabelRenderer
Centers the label right next to a tick. Commonly used for labeled axis.
  • ezcGraphAxisExactLabelRenderer
Put the label next to each tick. Commonly used for numeric axis.
  • ezcGraphAxisNoLabelRenderer
Renders no labels.
  • ezcGraphAxisRadarLabelRenderer
Special label renderer for radar charts.
  • ezcGraphAxisRotatedLabelRenderer
Accepts a rotation angle for the texts put at some axis, which might be useful for longer textual labels on the axis.
The label renderer used by default is different depending on the axis type.

Parents

ezcBaseOptions
   |
   --ezcGraphChartElement
      |
      --ezcGraphChartElementAxis

Descendents

Child Class Description
ezcGraphChartElementDateAxis Class to represent date axis.
ezcGraphChartElementNumericAxis Class to represent a numeric axis.
ezcGraphChartElementLabeledAxis Class to represent a labeled axis.
ezcGraphChartElementLogarithmicalAxis Class to represent a logarithmic axis.

Properties

ezcGraphAxisLabelRenderer read/write  $axisLabelRenderer
AxisLabelRenderer used to render labels and grid on this axis.
float read/write  $axisSpace
Percent of the chart space used to display axis labels and arrowheads instead of data values.
float read/write  $chartPosition
Position of the axis in the chart. Only useful for additional axis. The basic chart axis will be automatically positioned.
string read/write  $formatString
Formatstring to use for labeling of the axis.
bool read  $initialized
Property indicating if some values were associated with axis, or a scaling has been set manually.
string read/write  $label
Axis label
callback read/write  $labelCallback
Callback function to format chart labels. Function will receive two parameters and should return a reformatted label. string function( label, step )
int read/write  $labelMargin
Distance between label an axis
float read/write  $labelRotation
Rotation of the axis label in degree
int read/write  $labelSize
Size of axis label
ezcGraphColor read/write  $majorGrid
Color of major majorGrid.
mixed read/write  $majorStep
Labeled major steps displayed on the axis. @TODO: Should be moved to numeric axis.
int read/write  $maxArrowHeadSize
Maximum Size used to draw arrow heads.
int read/write  $minArrowHeadSize
Minimum Size used to draw arrow heads.
ezcGraphColor read/write  $minorGrid
Color of minor majorGrid.
mixed read/write  $minorStep
Non labeled minor steps on the axis. @TODO: Should be moved to numeric axis.
float read/write  $nullPosition
The position of the null value.
float read/write  $outerAxisSpace
Percent of the chart space used to display axis arrow at the outer side of the axis. If set to null, the axisSpace will be used here.

Member Variables

protected ezcGraphAxisLabelRenderer $axisLabelRenderer
Axis label renderer class
protected ezcGraphBoundings $innerBoundings
Optionally set inner boundings. May be null depending on the used chart implementation.

Inherited Member Variables

From ezcBaseOptions:
protected  ezcBaseOptions::$properties

Method Summary

public abstract void addData( $values )
Add data for this axis
public abstract void calculateAxisBoundings( )
Calculate axis bounding values on base of the assigned values
public abstract float getCoordinate( $value )
Get coordinate for a dedicated value on the chart
public abstract string getLabel( $step )
Get label for a dedicated step on the axis
public abstract integer getMajorStepCount( )
Return count of major steps
public abstract integer getMinorStepCount( )
Return count of minor steps
public array( getSteps( )
Return array of steps on this axis
public abstract bool isZeroStep( $step )
Is zero step
public ezcGraphBoundings render( $renderer, $boundings, [$innerBoundings = null] )
Render the axis
public void setFromPalette( $palette )
Set colors and border fro this element
public void __set( $propertyName, $propertyValue )
__set

Inherited Methods

From ezcGraphChartElement :
protected ezcGraphBoundings ezcGraphChartElement::getTitleSize()
Returns calculated boundings based on available percentual space of given bounding box specified in the elements options and direction of the box.
public abstract ezcGraphBoundings ezcGraphChartElement::render()
Renders this chart element
public void ezcGraphChartElement::setFromPalette()
Set colors and border fro this element
From ezcBaseOptions :
public ezcBaseOptions ezcBaseOptions::__construct()
Construct a new options object.
public void ezcBaseOptions::merge()
Merge an array into the actual options object.
public bool ezcBaseOptions::offsetExists()
Returns if an option exists.
public mixed ezcBaseOptions::offsetGet()
Returns an option value.
public void ezcBaseOptions::offsetSet()
Set an option.
public void ezcBaseOptions::offsetUnset()
Unset an option.

Methods

addData

void addData( $values )
Add data for this axis

Parameters

Name Type Description
$values array  

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::addData() Add data for this axis
ezcGraphChartElementNumericAxis::addData() Add data for this axis
ezcGraphChartElementLabeledAxis::addData() Add data for this axis
ezcGraphChartElementLogarithmicalAxis::addData() Add data for this axis

calculateAxisBoundings

void calculateAxisBoundings( )
Calculate axis bounding values on base of the assigned values

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::calculateAxisBoundings() Calculate axis bounding values on base of the assigned values
ezcGraphChartElementNumericAxis::calculateAxisBoundings() Calculate axis bounding values on base of the assigned values
ezcGraphChartElementLabeledAxis::calculateAxisBoundings() Calculate axis bounding values on base of the assigned values
ezcGraphChartElementLogarithmicalAxis::calculateAxisBoundings() Calculate axis bounding values on base of the assigned values

getCoordinate

float getCoordinate( float $value )
Get coordinate for a dedicated value on the chart

Parameters

Name Type Description
$value float Value to determine position for

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::getCoordinate() Get coordinate for a dedicated value on the chart
ezcGraphChartElementNumericAxis::getCoordinate() Get coordinate for a dedicated value on the chart
ezcGraphChartElementLabeledAxis::getCoordinate() Get coordinate for a dedicated value on the chart
ezcGraphChartElementLogarithmicalAxis::getCoordinate() Get coordinate for a dedicated value on the chart

getLabel

string getLabel( integer $step )
Get label for a dedicated step on the axis

Parameters

Name Type Description
$step integer Number of step

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::getLabel() Get label for a dedicated step on the axis
ezcGraphChartElementNumericAxis::getLabel() Get label for a dedicated step on the axis
ezcGraphChartElementLabeledAxis::getLabel() Get label for a dedicated step on the axis
ezcGraphChartElementLogarithmicalAxis::getLabel() Get label for a dedicated step on the axis

getMajorStepCount

integer getMajorStepCount( )
Return count of major steps

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::getMajorStepCount() Return count of major steps
ezcGraphChartElementNumericAxis::getMajorStepCount() Return count of major steps
ezcGraphChartElementLabeledAxis::getMajorStepCount() Return count of major steps
ezcGraphChartElementLogarithmicalAxis::getMajorStepCount() Return count of major steps

getMinorStepCount

integer getMinorStepCount( )
Return count of minor steps

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::getMinorStepCount() Return count of minor steps
ezcGraphChartElementNumericAxis::getMinorStepCount() Return count of minor steps
ezcGraphChartElementLabeledAxis::getMinorStepCount() Return count of minor steps
ezcGraphChartElementLogarithmicalAxis::getMinorStepCount() Return count of minor steps

getSteps

array( getSteps( )
Return array of steps on this axis

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::getSteps() Return array of steps on this axis
ezcGraphChartElementLabeledAxis::getSteps() Return array of steps on this axis

isZeroStep

bool isZeroStep( int $step )
Is zero step
Returns true if the given step is the one on the initial axis position

Parameters

Name Type Description
$step int Number of step

Redefined in descendants as

Method Description
ezcGraphChartElementDateAxis::isZeroStep() Is zero step
ezcGraphChartElementNumericAxis::isZeroStep() Is zero step
ezcGraphChartElementLabeledAxis::isZeroStep() Is zero step
ezcGraphChartElementLogarithmicalAxis::isZeroStep() Is zero step

render

ezcGraphBoundings render( ezcGraphRenderer $renderer, $boundings, [ $innerBoundings = null] )
Render the axis

Parameters

Name Type Description
$renderer ezcGraphRenderer Renderer
$boundings ezcGraphBoundings Boundings for the axis
$innerBoundings ezcGraphBoundings  

Redefinition of

Method Description
ezcGraphChartElement::render() Renders this chart element

setFromPalette

void setFromPalette( ezcGraphPalette $palette )
Set colors and border fro this element

Parameters

Name Type Description
$palette ezcGraphPalette Palette

Redefinition of

Method Description
ezcGraphChartElement::setFromPalette() Set colors and border fro this element

__set

void __set( mixed $propertyName, mixed $propertyValue )
__set

Parameters

Name Type Description
$propertyName mixed  
$propertyValue mixed  

Throws

ClassDescription
ezcBasePropertyNotFoundException If a the value for the property options is not an instance of
ezcBaseValueException If a submitted parameter was out of range or type.

Last updated: Mon, 21 Dec 2009