## Apache Zeta Components Manual :: Docs For Class ezcGraphChartElementDateAxis

### Graph::ezcGraphChartElementDateAxis

### Class ezcGraphChartElementDateAxis

Class to represent date axis.

Axis elements represent the axis in a bar, line or radar chart. They are chart elements (ezcGraphChartElement) extending from ezcGraphChartElementAxis, where additional formatting options can be found. You should generally use the axis, which matches your input data best, so that the automatic chart layouting works best. Aavailable axis types are:

- ezcGraphChartElementDateAxis
- ezcGraphChartElementLabeledAxis
- ezcGraphChartElementLogarithmicalAxis
- ezcGraphChartElementNumericAxis

Date axis will try to find a "nice" interval based on the values on the x axis. If non numeric values are given, ezcGraphChartElementDateAxis will convert them to timestamps using PHPs strtotime function.

It is always possible to set start date, end date and the interval manually by yourself.

The $dateFormat option provides an additional way of formatting the labels used on the axis. The options from the parent class $formatString and $labelCallback do still apply.

You may use a date axis like in the following example:

1. $graph=new ezcGraphLineChart ();
2. $graph->options->fillLines=210;
3. $graph->title='Concurrent requests';
4. $graph->legend=false;
6. $graph->xAxis=new ezcGraphChartElementDateAxis ();
8. // Add data
9. $graph->data['Machine 1']=new ezcGraphArrayDataSet (array(
10. '8:00'=>3241,
11. '8:13'=>934,
12. '8:24'=>1201,
13. '8:27'=>1752,
14. '8:51'=>123,
15. ) );
16. $graph->data['Machine 2']=new ezcGraphArrayDataSet (array(
17. '8:05'=>623,
18. '8:12'=>2103,
19. '8:33'=>543,
20. '8:43'=>2034,
21. '8:59'=>3410,
22. ) );
24. $graph->data['Machine 1']->symbol=ezcGraph ::BULLET;
25. $graph->data['Machine 2']->symbol=ezcGraph ::BULLET;
27. $graph-> render (400,150,'tutorial_axis_datetime.svg');

Source for this file: /Graph/src/axis/date.php

    ezcBaseOptions
       |
       --ezcGraphChartElement
          |
          --ezcGraphChartElementAxis
             |
             --ezcGraphChartElementDateAxis

Version: | //autogentag//

### Constants

`DECADE = 315360000` |
`MAJOR_COUNT = 10` | Constant used for calculation of automatic definition of major scaling steps
`MONTH = 2629800` |
`YEAR = 31536000` |

### Properties

string | read/write | `$dateFormat` Format of date string Like http://php.net/date
float | read/write | `$endDate` End date used to display on axis.
float | read/write | `$interval` Time interval between steps on axis.
float | read/write | `$startDate` Starting date used to display on axis.

### Member Variables

protected int | `$maxValue = false` Maximum inserted date
protected int | `$minValue = false` Minimum inserted date

protected array

`$predefinedIntervals = array(
// Second
1 => 'H:i.s',
// Ten seconds
10 => 'H:i.s',
// Thirty seconds
30 => 'H:i.s',
// Minute
60 => 'H:i',
// Ten minutes
600 => 'H:i',
// Half an hour
1800 => 'H:i',
// Hour
3600 => 'H:i',
// Four hours
14400 => 'H:i',
// Six hours
21600 => 'H:i',
// Half a day
43200 => 'd.m a',
// Day
86400 => 'd.m',
// Week
604800 => 'W',
// Month
self::MONTH => 'M y',
// Year
self::YEAR => 'Y',
// Decade
self::DECADE => 'Y',
)`
Nice time intervals to used if there is no user defined interval

### Inherited Member Variables

From ezcGraphChartElementAxis
protected | `ezcGraphChartElementAxis::$axisLabelRenderer`
protected | `ezcGraphChartElementAxis::$innerBoundings`
From ezcBaseOptions
protected | `ezcBaseOptions::$properties`

### Method Summary

protected static int | `ensureTimestamp( $value )` Ensure proper timestamp
public void | `addData( $values )` Add data for this axis
public void | `calculateAxisBoundings( )` Calculate axis bounding values on base of the assigned values
protected void | `calculateInterval( $min , $max )` Calculate nice time interval
protected int | `calculateLowerNiceDate( $min , $interval )` Calculate lower nice date
public void | `calculateMaximum( $min , $max )` Calculate end date
public void | `calculateMinimum( $min , $max )` Calculate start date
public float | `getCoordinate( $value )` Get coordinate for a dedicated value on the chart
public string | `getLabel( $step )` Get label for a dedicated step on the axis
protected string | `getLabelFromTimestamp( $time , $step )` Get label for timestamp
public integer | `getMajorStepCount( )` Return count of major steps
public integer | `getMinorStepCount( )` Return count of minor steps
public array( | `getSteps( )` Return array of steps on this axis
public bool | `isZeroStep( $step )` Is zero step

### Inherited Methods

From ezcGraphChartElementAxis
public abstract void | `ezcGraphChartElementAxis::addData()` Add data for this axis
public abstract void | `ezcGraphChartElementAxis::calculateAxisBoundings()` Calculate axis bounding values on base of the assigned values
public abstract float | `ezcGraphChartElementAxis::getCoordinate()` Get coordinate for a dedicated value on the chart
public abstract string | `ezcGraphChartElementAxis::getLabel()` Get label for a dedicated step on the axis
public abstract integer | `ezcGraphChartElementAxis::getMajorStepCount()` Return count of major steps
public abstract integer | `ezcGraphChartElementAxis::getMinorStepCount()` Return count of minor steps
public array( | `ezcGraphChartElementAxis::getSteps()` Return array of steps on this axis
public abstract bool | `ezcGraphChartElementAxis::isZeroStep()` Is zero step
public ezcGraphBoundings | `ezcGraphChartElementAxis::render()` Render the axis
public void | `ezcGraphChartElementAxis::setFromPalette()` Set colors and border fro this element
public void | `ezcGraphChartElementAxis::__set()` __set
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

#### ensureTimestamp

static int ensureTimestamp( mixed $value )

Ensure proper timestamp

Takes a mixed value from datasets, like timestamps, or strings describing some time and converts it to a timestamp.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$value` | mixed |

#### addData

void addData( $values )

Add data for this axis

##### Parameters:

Name | Type | Description
--- | --- | ---
`$values` | array | Value which will be displayed on this axis

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::addData()` | Add data for this axis

#### calculateAxisBoundings

void calculateAxisBoundings( )

Calculate axis bounding values on base of the assigned values

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::calculateAxisBoundings()` | Calculate axis bounding values on base of the assigned values

#### calculateInterval

void calculateInterval( int $min , int $max )

Calculate nice time interval

Use the best fitting time interval defined in class property array predefinedIntervals.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$min` | int | Start time
`$max` | int | End time

#### calculateLowerNiceDate

int calculateLowerNiceDate( int $min , int $interval )

Calculate lower nice date

Calculates a date which is earlier or equal to the given date, and is divisible by the given interval.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$min` | int | Date
`$interval` | int | Interval

#### calculateMaximum

void calculateMaximum( mixed $min , mixed $max )

Calculate end date

Use calculateLowerNiceDate to get a date later or equal date then the maximum date to use it as the end date for the axis depending on the selected interval.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$min` | mixed | Minimum date
`$max` | mixed | Maximum date

#### calculateMinimum

void calculateMinimum( mixed $min , mixed $max )

Calculate start date

Use calculateLowerNiceDate to get a date earlier or equal date then the minimum date to use it as the start date for the axis depending on the selected interval.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$min` | mixed | Minimum date
`$max` | mixed | Maximum date

#### 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

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::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

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::getLabel()` | Get label for a dedicated step on the axis

#### getLabelFromTimestamp

string getLabelFromTimestamp( int $time , int $step )

Get label for timestamp

##### Parameters:

Name | Type | Description
--- | --- | ---
`$time` | int |
`$step` | int |

#### getMajorStepCount

integer getMajorStepCount( )

Return count of major steps

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::getMajorStepCount()` | Return count of major steps

#### getMinorStepCount

integer getMinorStepCount( )

Return count of minor steps

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::getMinorStepCount()` | Return count of minor steps

#### getSteps

array( getSteps( )

Return array of steps on this axis

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::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

##### Redefinition of:

Method | Description
--- | ---
`ezcGraphChartElementAxis::isZeroStep()` | Is zero step

Documentation generated by phpDocumentor 1.4.3