\section{AXISPROPERTIES Axis Object Properties}

\subsection{Usage}

Below is a summary of the properties for the axis. 
\begin{itemize}
\item  \verb|activepositionproperty| - \verb|four vector| - Not used.

\item  \verb|alim| - \verb|two vector| - Controls the mapping of 
 transparency.  The vector \verb|[a_1,a_2]|@ defines the scale for transparency.
 Plots then map \verb|a_1| to a completely opaque value, and \verb|a_2| to a 
 completely transparent value.  This mapping is applied to the alpha
 data of the plot data.

\item  \verb|alimmode| - \verb|{'auto','manual'}| - For \verb|auto| mode, we 
 map the alpha ranges of all objects in the plot to a full scale.
 For \verb|manual| mode, we use the \verb|alim| vector.

\item  \verb|ambientlightcolor| - \verb|colorspec| - Not used.

\item  \verb|box| - \verb|On/Off| - Not used.

\item  \verb|cameraposition| - \verb|three vector| - Set the position for the
 camera in axis space.

\item  \verb|camerapositionmode| - \verb|{'auto','manual'}| - For \verb|manual|
 mode, the camera position is picked up from the \verb|cameraposition| vector.
 For \verb|auto| mode, the camera position is set to be centered on the 
 \verb|x| and \verb|y| axis limits, and beyond the \verb|z| maximum limit.

\item  \verb|cameratarget| - \verb|three vector| - Defines the point in axis
 space that the camera is targetted at.

\item  \verb|cameratargetmode| - \verb|{'auto','manual'}| - For \verb|manual|
 mode the camera target is picked up from the \verb|cameratarget| vector.  For
 \verb|auto| mode, the camera target is chosen to be the center of the 
 three axes.

\item  \verb|cameraupvector| - \verb|three vector| - Defines the upwards vector
 for the camera (what is ultimately mapped to the vertical axis of the
 plot or screen).  This vector must not be parallel to the vector that
 is defined by the optical axis (i.e., the one connecting the target to the
 camera position).

\item  \verb|cameraupvectormode| - \verb|{'auto','manual'}| - For \verb|manual|
 mode, the camera up vector is picked up from the \verb|cameraupvector|.  The
 \verb|auto| mode chooses the up vector to point along the positive \verb|y| axis.

\item  \verb|cameraviewangle| - \verb|scalar| - Not used.

\item  \verb|cameraviewanglemode| - \verb|{'auto','manual'}| - Not used.

\item  \verb|children| - \verb|vector of handles| - A vector containing handles to
 children of the current axis.  Be careful as to how you manipulate this
 vector.  FreeMat uses a reference counting mechanism for graphics objects,
 so if you remove a handle from the \verb|children| property of an axis, and
 you have not added it to the \verb|children| property of another object, it
 will be deleted.

\item  \verb|clim| - \verb|two vector| - The color range vector.  This vector
 contains two values that dictate how children of this axis get mapped
 to the colormap.  Values between the two endpoints of this vector are mapped
 to the extremes of the colormap.

\item  \verb|climmode| - \verb|{'auto','manual'}| - For \verb|auto| mode, the color limits
 are chosen to span the colordata for all of the children objects.  For \verb|manual|
 mode, the color mapping is based on \verb|clim|.

\item  \verb|clipping| - \verb|{'on','off'}| - Not used.

\item  \verb|color| - \verb|colorspec| - The color used to draw the background box
 for the axes.  Defaults to white.

\item  \verb|colororder| - \verb|color vector| - A vector of color specs (in 
 RGB) that are cycled between when drawing line plots into this axis.
 The default is order blue,green,red,cyan,magenta,yellow,black.

\item  \verb|datalimits| - \verb|six vector| - A vector that contains the x, y and z
 limits of the data for children of the current axis.  Changes to this
 property are ignored - it is calculated by FreeMat based on the datasets.

\item  \verb|dataaspectratio| - \verb|three vector| - A vector that describes the
 aspect ratio of the data.  You can think of this as the relative scaling of 
 units for each axis.  For example, if one unit along the x axis is twice
 as long as one unit along the y axis, you would specify a data aspect 
 ratio of \verb|[2,1,1]|.

\item  \verb|dataaspectratiomode| - \verb|{'auto','manual'}| - When the data aspect 
 ratio is set to \verb|manual|, the data is scaled by the data aspect ratio before
 being plotted.  When the data aspect ratio mode is \verb|auto| a complex set of
 rules are applied to determine how the data should be scaled.  If \verb|dataaspectratio|
 mode is \verb|auto| and \verb|plotboxaspectratio| is \verb|auto|, then the default data aspect
 ratio is set to \verb|[1,1,1]| and the default plot box aspect ratio is chosen proportional
 to \verb|[xrange,yrange,zrange]|, where \verb|xrange| is the span of data along the \verb|x|
 axis, and similarly for \verb|yrange| and \verb|zrange|.  If \verb|plotboxaspectratio| is set to
 \verb|[px,py,pz]|, then the \verb|dataaspectratio| is set to \verb|[xrange/px,yrange/py,zrange/pz]|.
 If one of the axes has been specified manually, then the data will be scaled to fit
 the axes as well as possible.

\item  \verb|fontangle| - \verb|{'normal','italic','oblique'}| - The angle of the fonts used
 for text labels (e.g., tick labels).

\item  \verb|fontsize| - \verb|scalar| - The size of fonts used for text labels (tick labels).

\item  \verb|fontunits| - Not used.

\item  \verb|fontweight| - \verb|{'normal','bold','light','demi'}| - The weight of the font used
 for tick labels.

\item  \verb|gridlinestyle| - \verb|{'-','--',':','-.','none'}| - The line style to use for 
 drawing the grid lines.  Defaults to \verb|':'|.

\item  \verb|handlevisibility| - Not used.

\item  \verb|hittest| - Not used.

\item  \verb|interruptible| - Not used.

\item  \verb|layer| - Not used.

\item  \verb|linestyleorder| - \verb|linestyle vector| - A vector of linestyles that are cycled
 through when plotted line series.

\item  \verb|linewidth| - \verb|scalar| - The width of line used to draw grid lines, axis lines, 
 and other lines.

\item  \verb|minorgridlinestyle| - \verb|{'-','--',':','-.','none'}| - The line style used for
 drawing grid lines through minor ticks.

\item  \verb|nextplot| - \verb|{'add','replace','replacechildren'}| - Controls how the next plot
 interacts with the axis.  If it is set to \verb|'add'| the next plot will be added to the
 current axis.  If it is set to \verb|'replace'| the new plot replaces all of the previous
 children.

\item  \verb|outerposition| - \verb|four vector| - Specifies the coordinates of the outermost
 box that contains the axis relative to the containing figure.  This vector is in normalized
 coordinates and corresponds to the \verb|x, y, width, height| coordinates of the box.

\item  \verb|parent| - \verb|handle| - The handle for the containing object (a figure).

\item  \verb|plotboxaspectratio| - \verb|three vector| - Controls the aspect ratio of the plot
 box.  See the entry under \verb|dataaspectratio| for details on how FreeMat uses this
 vector in combination with the axis limits and the \verb|plotboxaspectratio| to determine
 how to scale the data. 

\item  \verb|plotboxaspectratiomode| - \verb|{'auto','manual'}| - The plot box aspect ratio mode
 interacts with the \verb|dataaspectratiomode| and the axis limits.

\item  \verb|position| - \verb|fourvector| - The normalized coordinates of the plot box space.
 Should be inside the rectable defined by \verb|outerposition|.

\item  \verb|projection| - Not used.

\item  \verb|selected| - Not used.

\item  \verb|selectionhighlight| - Not used.

\item  \verb|tag| - A string that can be set to tag the axes with a name.

\item  \verb|textheight| - \verb|scalar| - This value is set by FreeMat to the height of the
 current font in pixels.  

\item  \verb|tickdir| - \verb|{'in','out'}| - The direction of ticks.  Defaults to \verb|'in'| for 2D
 plots, and \verb|'out'| for 3D plots if \verb|tickdirmode| is \verb|auto|.

\item  \verb|tickdirmode| - \verb|{'auto','manual'}| - When set to \verb|'auto'| the \verb|tickdir| 
 defaults to \verb|'in'| for 2D plots, and \verb|'out'| for 3D plots.

\item  \verb|ticklength| - \verb|two vector| - The first element is the length of the tick in 
 2D plots, and the second is the length of the tick in the 3D plots.  The lengths are 
 described as fractions of the longer dimension (width or height).

\item  \verb|tightinset| - Not used.

\item  \verb|title| - \verb|handle| - The handle of the label used to represent the title of
 the plot.

\item  \verb|type| - \verb|string| - Takes the value of \verb|'axes'| for objects of the axes type.

\item  \verb|units| - Not used.

\item  \verb|userdata| - \verb|array| - An arbitrary array you can set to anything you want.

\item  \verb|visible| - \verb|{'on','off'}| - If set to \verb|'on'| the axes are drawn as normal.
 If set to \verb|'off'|, only the children of the axes are drawn. The plot box, axis lines,
 and tick labels are not drawn.

\item  \verb|xaxislocation| - \verb|{'top','bottom'}| - Controls placement of the x axis.

\item  \verb|yaxislocation| - \verb|{'left','right'}| - Controls placement of the y axis.

\item  \verb|xcolor| - \verb|colorspec| - The color of the x elements including the the x axis
 line, ticks, grid lines and tick labels

\item  \verb|ycolor| - \verb|colorspec| - The color of the y elements including the the y axis
 line, ticks, grid lines and tick labels.

\item  \verb|zcolor| - \verb|colorspec| - The color of the z elements including the the z axis
 line, ticks, grid lines and tick labels.

\item  \verb|xdir| - \verb|{'normal','reverse'}| - For \verb|normal|, axes are drawn as you
 would expect (e.g, in default 2D mode, the x axis has values increasing from left
 to right.  For \verb|reverse|, the x axis has values increasing from right to left.

\item  \verb|ydir| - \verb|{'normal','reverse'}| - For \verb|normal|, axes are drawn as you
 would expect (e.g, in default 2D mode, the y axis has values increasing from bottom
 to top.  For \verb|reverse|, the y axis has values increasing from top to bottom.

\item  \verb|zdir| - \verb|{'normal','reverse'}| - For \verb|normal|, axes are drawn as you
 would expect. In default 3D mode, the z axis has values increasing in some direction
 (usually up).  For \verb|reverse| the z axis increases in the opposite direction.

\item  \verb|xgrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from ticks on
 the x axis.

\item  \verb|ygrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from ticks on
 the y axis.

\item  \verb|zgrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from ticks on
 the z axis.

\item  \verb|xlabel| - \verb|handle| - The handle of the text label attached to the x axis.
 The position of that label and the rotation angle is computed automatically by
 FreeMat.

\item  \verb|ylabel| - \verb|handle| - The handle of the text label attached to the y axis.
 The position of that label and the rotation angle is computed automatically by
 FreeMat.

\item  \verb|zlabel| - \verb|handle| - The handle of the text label attached to the z axis.
 The position of that label and the rotation angle is computed automatically by
 FreeMat.

\item  \verb|xlim| - \verb|two vector| - Contains the limits of the data along the x axis.
 These are set automatically for \verb|xlimmode|.  When manually set it allows you to
 zoom into the data.  The first element of this vector should be the smallest x value
 you want mapped to the axis, and the second element should be the largest.

\item  \verb|ylim| - \verb|two vector| - Contains the limits of the data along the y axis.
 These are set automatically for \verb|ylimmode|.  When manually set it allows you to
 zoom into the data.  The first element of this vector should be the smallest y value
 you want mapped to the axis, and the second element should be the largest.

\item  \verb|zlim| - \verb|two vector| - Contains the limits of the data along the z axis.
 These are set automatically for \verb|zlimmode|.  When manually set it allows you to
 zoom into the data.  The first element of this vector should be the smallest z value
 you want mapped to the axis, and the second element should be the largest.

\item  \verb|xlimmode| - \verb|{'auto','manual'}| - Determines if \verb|xlim| is determined
 automatically or if it is determined manually.  When determined automatically, it
 is chosen to span the data range (at least).

\item  \verb|ylimmode| - \verb|{'auto','manual'}| - Determines if \verb|ylim| is determined
 automatically or if it is determined manually.  When determined automatically, it
 is chosen to span the data range (at least).

\item  \verb|zlimmode| - \verb|{'auto','manual'}| - Determines if \verb|zlim| is determined
 automatically or if it is determined manually.  When determined automatically, it
 is chosen to span the data range (at least).

\item  \verb|xminorgrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from minor ticks on
 the x axis.

\item  \verb|yminorgrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from minor ticks on
 the y axis.

\item  \verb|zminorgrid| - \verb|{'on','off'}| - Set to \verb|on| to draw grid lines from minor ticks on
 the z axis.

\item  \verb|xscale| - \verb|{'linear','log'}| - Determines if the data on the x axis is linear or
 logarithmically scaled.

\item  \verb|yscale| - \verb|{'linear','log'}| - Determines if the data on the y axis is linear or
 logarithmically scaled.

\item  \verb|zscale| - \verb|{'linear','log'}| - Determines if the data on the z axis is linear or
 logarithmically scaled.

\item  \verb|xtick| - \verb|vector| - A vector of x coordinates where ticks are placed on the 
 x axis.  Setting this vector allows you complete control over the placement of ticks on 
 the axis.

\item  \verb|ytick| - \verb|vector| - A vector of y coordinates where ticks are placed on the 
 y axis.  Setting this vector allows you complete control over the placement of ticks on 
 the axis.

\item  \verb|ztick| - \verb|vector| - A vector of z coordinates where ticks are placed on the 
 z axis.  Setting this vector allows you complete control over the placement of ticks on 
 the axis.

\item  \verb|xticklabel| - \verb|string vector| - A string vector, of the form \verb|'string|string|string'|
 that contains labels to assign to the labels on the axis.  If this vector is shorter than
 \verb|xtick|, then FreeMat will cycle through the elements of this vector to fill out the labels.

\item  \verb|yticklabel| - \verb|string vector| - A string vector, of the form \verb|'string|string|string'|
 that contains labels to assign to the labels on the axis.  If this vector is shorter than
 \verb|ytick|, then FreeMat will cycle through the elements of this vector to fill out the labels.

\item  \verb|zticklabel| - \verb|string vector| - A string vector, of the form \verb|'string|string|string'|
 that contains labels to assign to the labels on the axis.  If this vector is shorter than
 \verb|ztick|, then FreeMat will cycle through the elements of this vector to fill out the labels.

\item  \verb|xtickmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to calculate
 the tick locations.  Setting \verb|'xtick'| will cause this property to switch to \verb|'manual'|.

\item  \verb|ytickmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to calculate
 the tick locations.  Setting \verb|'ytick'| will cause this property to switch to \verb|'manual'|.

\item  \verb|ztickmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to calculate
 the tick locations.  Setting \verb|'ztick'| will cause this property to switch to \verb|'manual'|.

\item  \verb|xticklabelmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to
 set the tick labels.  This will be based on the vector \verb|xtick|.

\item  \verb|yticklabelmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to
 set the tick labels.  This will be based on the vector \verb|ytick|.

\item  \verb|zticklabelmode| - \verb|{'auto','manual'}| - Set to \verb|'auto'| if you want FreeMat to
 set the tick labels.  This will be based on the vector \verb|ztick|.

\end{itemize}
