CLASS Axis
(Defined in: jpgraph.php : 3883) Class usage and Overview
The Axis class represents either the X or Y axis in a graph. This class is noramlly accessed through the instance variables graph->xaxis, $graph->yaxis, or $graph->y2axis
Public properties:
Name | Type | Description |
title | Text | Axis title text |
scale | LinearScale/LogScale | Scale used for axis |
See also related classes:
LinearScale, LogScale and Text
Class Methods
function Hide($aHide)
Hide the axis
Argument | Default | Description |
$aHide
|
true
| Flag. |
Description
This method is used to hide the axis.
$graph->xaxis->Hide(); // Hide xaxis
$graph->yaxis->Hide(); // Hide y-axis
function HideFirstLastLabel()
Hide the first and last label on the scale.
Description
Hide the first and last label on the scale. Usefull whe you are using Axis Type of AXSTYLE_BOXIN or AXSTYLE_BOXOUT to avoid the labels to owerwrite a box around the plot.
See also
Axis::HideFirstTickLabel and Axis::HideLastTickLabel
//...
$graph->SetAxisStyle(AXSTYLE_BOXOUT);
$graph->SetBox();
$graph->xaxis->HideFirstLastLabel();
$graph->yaxis->HideFirstLastLabel();
//...
function HideFirstTickLabel($aShow)
Hide the first label
Argument | Default | Description |
$aShow
|
false
| Flag. |
Description
Calling this method will hide the first label on the axis. This is usefull when the y axis have negative values and a value on the x-axis would be partially obscured by the values on the y-axis.
This gets automatically called in this case.
This is probably of less use for the end user of the library.
$graph->xaxis->HideFirstTicklabel()
function HideLabels($aHide)
Hide all labels on the axis
Argument | Default | Description |
$aHide
|
true
| true=Hide all labels |
Description
Hide all labels on the axis but keep tick marks and axis line.
See also
Axis::Hide, Axis::HideLine and Axis::HideTicks
$graph->xaxis->HideLabels()
function HideLastTickLabel($aShow)
Hide the last tick label on the axis.
Argument | Default | Description |
$aShow
|
false
| Flag |
Description
The mirror of HideFirstTickLabel()
See also
Axis::HideFirstTickLabel and Axis::HideFirstLastLabel
$graph->xaxis->HideLastTickLabel();
function HideLine($aHide)
// Hide the actual axis-line, but still print the labels
Argument | Default | Description |
$aHide
|
true
| True=Hide axis line |
Description
Hide the line of the axis. This only hides the axis-line but will keep the tick marks and labels. If you want to hide the tick marks you should call HideTicks(). To hide the axis completely, line, ticks and labels use Hide().
See also
Axis::HideTicks and Axis::Hide
// Hide line and tick marks
$graph->yaxis->HideLine();
$graph->yaxis->HideTicks();
function HideTicks($aHideMinor,$aHideMajor)
Hide minor or major tick marks.
Argument | Default | Description |
$aHideMinor
|
true
| True = Hide minor tick marks |
$aHideMajor
|
true
| True = Hide major tick marks |
Description
Hide major or minor tick makrs on the axis.
// Only display major tick marks
$graph->yaxis->HideTicks(true,false);
function HideZeroLabel($aFlag)
Hide zero label
Argument | Default | Description |
$aFlag
|
true
| Flag. |
Description
Hide the zero label. Usefull if the axis cross at zero and the label would owerwrite the other axis scale.
See also
Axis::HideFirstTickLabel
$graph->yaxis->HideZeroLabel();
function SetColor($aColor,$aLabelColor)
Specify color of Axis and it's labels
Argument | Default | Description |
$aColor
| | Color for axis |
$aLabelColor
|
false
| Color for labels on axis |
Description
Specifies the color of the axis line as well as the labels on the axis. If the label color is not specified it will be the same as the axis color.
$graph->xaxis->SetColor('blue');
$graph->yaxis->SetColor('blue','black');
function SetFont($aFamily,$aStyle,$aSize)
Set the font for labels on the axis
Argument | Default | Description |
$aFamily
| | Font family |
$aStyle
|
FS_NORMAL
| Font style |
$aSize
|
10
| Font size |
Description
Specify font for labels on axis. Please note that if you need labels to be rotated an angle other than 0 or 90 you must use TTF fonts and not the builtin fonts (i.e. FF_FONT1, FF_FONT2, FF_FONT3)
See also
Axis::SetLabelPos and Axis::SetLabelAngle
$graph->xaxis->SetFont(FF_ARIAL);
function SetLabelAlign($aHAlign,$aVAlign,$aParagraphAlign)
Specify horizontal and vertical alignment for labels
Argument | Default | Description |
$aHAlign
| | Horizontal alignment |
$aVAlign
|
"top"
| Vertical alignment |
$aParagraphAlign
|
'left'
| paragraph align for multi-line texts |
Description
Specifies the horizontal and vertical alignment for the labels on the axis. The alignment specifies how the labels is adjusted relative to the tickmark.
Note that this is handled automatically but on some occasion there is a genuine need to override the automtic values. For example if the graph is rotated it might be necessary to adjust the alignment to get a visual acceptable label alignment.
Possible horizontal alignment are: 'left', 'center', 'right'
Possible vertical alignment are: 'top', 'center', 'bottom'
See horizbarex1.php, horizbarex2.php for real life examples.
$graph->xaxis->SetLabelAlign('right','center');
function SetLabelAngle($aAngle)
Specify the angle for the tick labels
Argument | Default | Description |
$aAngle
| | Angle in degrees |
Description
Specify the rotation angle for the labels on the axis.
Note:
If you want to use any angles other than 0 and 90 degrees you must make sure that the labels are using TTF fonts. Internal fonts only support vertical and horizontal angles.
See also
Axis::SetFont
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,11);
$graph->xaxis->SetLabelAngle(45); // 45 degrees angle
function SetLabelFormat($aFormStr)
Specify printf() format string for labels
Argument | Default | Description |
$aFormStr
| | Format string |
Description
Specify a printf() format string for the axis labels. if you need more advanced control of the formatting you can install a label format callbacl routine with Axis::SetLabelFormatCallback()
See also
Axis::SetLabelFormatCallback
$graph->xaxis->SetLabelFormat('%0.1f%%');
function SetLabelFormatCallback($aFuncName)
Specify callback function for labels on axis
Argument | Default | Description |
$aFuncName
| | Callback function |
Description
This can be used when more advance formatting of the axis labels are required. For example this could be used to format numbers with space or commas betwen the '1000.
The callback routine is called with one argument, the current number to be displayed and should return the number to be displayed.
For simple formatting use SetlabelFormat() to specify a printf() style formatting string.
The callback function specified should can either be a
global function or a class method, for example
$SomeClass = new SomeClass(...);
...
$g->SetXLabelFormatCallback(array($SomeClass,'xLabelCallback'));
There is, however, one caution. Any $this data used within LabelFormatCallbackInDerivedClass MUST BE SET BEFORE SetLabelFormatCallback is invoked! it appears that $this is bound/copied when SetLabelFormatCallback is invoked. Only $this data defined at that time is available within the callback function! Likewise, modifications to $this data AFTER SetLabelFormatCallback have no effect since the $this object used by the callback function has already been bound/copied.
The same issues obtain when the callback function is in a seperate class!
For a full example see barscalecallbackex1.php
See also
Axis::SetLabelFormat
function yLabelFormat($aLabel) {
// Format '1000 english style
return number_format($aLabel)
// Format '1000 french style
// return number_format($aLabel, 2, ',', ' ');
}
$graph->yaxis->SetLabelFormatCallback('yLabelFormat');
function SetLabelFormatString($aFormStr,$aDate)
Specify a printf()-style format string for labels.
Argument | Default | Description |
$aFormStr
| | Format string |
$aDate
|
false
| No description available |
Description
Synonym for SetLabelFormat().
Will be deprecated in a future release. Use SetLabelFormat() instead.
See also
Axis::SetLabelFormat
$graph->xaxis->SetLabelFormatString('%0.1f%%');
function SetLabelMargin($aMargin)
Specify margin between labels and tick marks
Argument | Default | Description |
$aMargin
| | Margin in pixels |
Description
Specify margin between labels and tick marks.
$graph->xaxis->SetLabelMargin(15);
function SetLabelPos($aSidePos)
Specify what side of the axis labels should be on.
Argument | Default | Description |
$aSidePos
| | Position |
Description
Specify which side the labels should go on. For horizontal axis valid arguments are SIDE_UP, SIDE_DOWN and for vertical axis it is SIDE_LEFT, SIDE_RIGHT.
See topaxisex1.php for an example when this is usefull.
Note: Synonym to SetLabelSide()
See also
Axis::SetTickSide and Axis::SetLabelSide
$graph->xaxis->SetLabelPos(SIDE_TOP);
function SetLabelSide($aSidePos)
Specify what side of the axis labels should be on.
Argument | Default | Description |
$aSidePos
| | Which side of the axis the labels should be on |
Description
Specify which side the labels should go on. For horizontal axis valid arguments are SIDE_UP, SIDE_DOWN and for vertical axis it is SIDE_LEFT, SIDE_RIGHT.
See topaxisex1.php for an example when this is usefull.
Note: Synonym to SetLabelPos()
See also
Axis::SetLabelPos
$graph->xaxis->SetLabelSide(SIDE_UP);
function SetMajTickPositions($aMajPos,$aLabels)
// Manually specify major tick positions and optional labels
Argument | Default | Description |
$aMajPos
| | No description available |
$aLabels
|
NULL
| No description available |
Description
No description available.
function SetPos($aPosOnOtherScale)
Position for axis line on the "other" scale
Argument | Default | Description |
$aPosOnOtherScale
| | Position in world-coordinate |
Description
Specifies the position of the axis on the other axis. This can be specified as either a numeric value (which gives the absolute position on the other scale). OIt can also be specified as a string value as either 'min' or 'max' which sould position the axis either at the beginning or the end of the opposite axis scale.
See topaxisex1.php for a real life example.
$graph->xaxis->SetPos('max'); // Locate x-axis at the top
function SetPosAbsDelta($aDelta)
Position the multiple Y-axis
Argument | Default | Description |
$aDelta
| | Delta in pixels |
Description
Set the position of the Y-axis to be X-pixels delta to the right of the max X-position (used to position the multiple Y-axis)
function SetTextLabelInterval($aStep,$aStart)
Specify interval for for test labels
Argument | Default | Description |
$aStep
| | Intervall |
$aStart
|
0
| No description available |
Description
Specify that every $step tick mark should have a label
See also
Axis::SetTickLabels
// Only draw labels on every 2nd tick mark
$graph->xaxis->SetTextLabelInterval(2);
function SetTextTickInterval($aStep,$aStart)
Specify what ticks should be displayed
Argument | Default | Description |
$aStep
| | Intervall between ticks |
$aStart
|
0
| Start tick |
Description
Specify that every $step of the ticks should be displayed starting at $start.
See also
Axis::SetTextLabelInterval and Axis::SetTextTicks
$graph->SetTextTickInterval(1,2);
function SetTextTicks($step,$start)
Specify intervall for ticks on a text scale
Argument | Default | Description |
$step
| | Intervall |
$start
|
0
| Start |
Description
DEPRECATED FUNCTION: USE SetTextTickInterval() INSTEAD
See also
Axis::SetTextTickInterval
NA
function SetTickDirection($aDir)
Specify what side of the axis ticks should be at
Argument | Default | Description |
$aDir
| | Direction |
Description
Specify which side of the axis the tick marks should be on. Valid positions for a horizontal axis are SIDE_TOP, SIDE_BOTTOM and for verticla axis SIDE_LEFT and SIDE_RIGHT.
This is a shortform for accessing the tick method directly via the scale in the axis.
See topaxisex1.php for real life example.
See also
Axis::SetLabelSide and Ticks::SetDirection
$graph->xaxis->SetTickDirection(SIDE_TOP);
function SetTickLabelMargin($aMargin)
How far from the axis should the labels be drawn
Argument | Default | Description |
$aMargin
| | Margin in pixels |
Description
Specify the margin (in pixels) between the axis and the label
$graph->xaxis->SetTicklabelmargin(50);
function SetTickLabels($aLabelArray,$aLabelColorArray)
Specify text labels for the ticks. One label for each data point
Argument | Default | Description |
$aLabelArray
| | Array with labels |
$aLabelColorArray
|
null
| Individual colors for each label |
Description
Specify the labels for a text axis. This is used to manually set labels for the x-axis when a text scale has been specified.
If fewer labels than data points are specified then the missing labels will be set to the data points ordinal numbers.
The color argment is an array that can be used to specify individual colors for each of the labels. If fewer colors than labels are specified then the colors will wrap around.
See also
Axis::SetTextLabelInterval and Axis::SetTickLabelMargin
// Set the x-axel to the month of the years using the
// gloablly available $gDateLocale
$a = $gDateLocale->GetShortMonth();
$graph->xaxis->SetTickLabels($a);
$graph->xaxis->SetFont(FF_FONT2);
function SetTickPositions($aMajPos,$aMinPos,$aLabels)
// Manually specify the major and (optional) minor tick position and labels
Argument | Default | Description |
$aMajPos
| | No description available |
$aMinPos
|
NULL
| No description available |
$aLabels
|
NULL
| No description available |
Description
No description available.
function SetTickSide($aDir)
Specify what side of the axis the ticks should be at
Argument | Default | Description |
$aDir
| | Specify side |
Description
Specify which side of the axis the tick marks should be on. Valid positions for a horizontal axis are SIDE_TOP, SIDE_BOTTOM and for verticla axis SIDE_LEFT and SIDE_RIGHT.
This is a shortform for accessing the tick method directly via the scale in the axis.
See topaxisex1.php for real life example.
See also
Axis::SetTickDirection
$graph->xaxis->SetTickSide(SIDE_TOP);
function SetTitle($aTitle,$aAdjustAlign)
Title for axis
Argument | Default | Description |
$aTitle
| | Title string |
$aAdjustAlign
|
"high"
| Alignment of title along the axis |
Description
Set the title for the axis. You can specify the alignment as being either "high", "middle" and "low". To adjust the titles font and color you have to access the label instance variable. For example, $graph->xaxis->title->SetFont(FF_FONT2,FS_BOLD)
$graph->xaxis->SetTitle('Values for 2002','middle');
function SetTitleMargin($aMargin)
Specify distance from the axis
Argument | Default | Description |
$aMargin
| | Margin in pixels |
Description
Specify the distance between the axis and the title.
See also
Axis::SetTitle
$graph->SetTitlemargin(50);
function SetTitleSide($aSideOfAxis)
Specify what side of the axis the title should be at
Argument | Default | Description |
$aSideOfAxis
| | Side |
Description
For horizontal axis the side can be either SIDE_TOP or SIDE_BOTTOM and for vertical axis the position can be either SIDE_LEF or SIDE_RIGHT.
By default x-axis have the title below the axis and y-axis have it on the left and y2 on the right.
See topaxisex1.php for real life example
See also
Axis::SetLabelSide and Axis::SetTickSide
$graph->xaxis->SetTitleSide(SIDE_TOP);
function SetWeight($aWeight)
Weight of axis
Argument | Default | Description |
$aWeight
| | Weight in pixels |
Description
Specify the thickness of the axis in pixels
$graph->SetWeight(3);