Control axis with duration values
DurationRuler
properties control the
appearance and behavior of an x-axis, y-axis,
or z-axis that shows duration values. Each individual axis has its
own ruler object. By changing property values of the ruler, you can modify certain
aspects of a specific axis.
Use dot notation to refer to a particular ruler and property. Access the ruler objects
through the XAxis
, YAxis
, and
ZAxis
properties of the Axes
object.
ax = gca; co = ax.XAxis.Color; ax.XAxis.Color = 'blue';
Color
— Color of axis line and labels'r'
| 'g'
| 'b'
| ...Color of the axis line and labels, specified as an RGB triplet, a hexadecimal color code, a color name, or a short name.
For a custom color, specify an RGB triplet or a hexadecimal color code.
An RGB triplet is a three-element row vector whose elements
specify the intensities of the red, green, and blue
components of the color. The intensities must be in the
range [0,1]
; for example, [0.4
0.6 0.7]
.
A hexadecimal color code is a character vector or a string
scalar that starts with a hash symbol (#
)
followed by three or six hexadecimal digits, which can range
from 0
to F
. The
values are not case sensitive. Thus, the color codes
'#FF8800'
,
'#ff8800'
,
'#F80'
, and
'#f80'
are equivalent.
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.
Color Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan'
| 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | Not applicable | Not applicable | Not applicable | No color |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
Note
The Color
property for the ruler and the associated
XColor
, YColor
, or
ZColor
property for the parent axes always have the same
value. Setting one also sets the other.
LineWidth
— Width of axis line and tick marks0.5
(default) | positive valueWidth of axis line and tick marks, specified as a positive value in point units. One point equals 1/72 inch.
Example: ax.XAxis.LineWidth = 2;
Note
Setting the LineWidth
property for the parent
axes sets the LineWidth
property for the ruler
to the same value. However, setting the ruler property does not set
the axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Label
— Axis labelAxis label, which is a text object. To display text or change
existing text, set the String
property for the
text object. Use other properties to change the text appearance, such
as the font style or color.
ax = gca;
ax.XAxis.Label.String = 'X Axis';
ax.XAxis.Label.FontSize = 12;
For a full list of options, see Text Properties.
Alternatively, add or modify the axis labels using the xlabel
, ylabel
,
and zlabel
functions.
Note
The text object is not a child of the ruler object, so it cannot
be returned by findobj
and
it does not use the default text property values.
LabelHorizontalAlignment
— Axis label horizontal alignment'center'
(default) | 'left'
| 'right'
Axis label horizontal alignment, specified as one of the values from the table.
LabelHorizontalAlignment Value | Description | Appearance |
---|---|---|
'center' | For a horizontal axis, the label is centered between the left and right edges of the plot box. For a vertical axis, the label is centered between the top and bottom edges of the plot box. |
|
'left' | For a horizontal axis, the label is aligned with the left edge of the plot box. For a vertical axis, the label is aligned with the bottom edge of the plot box. |
|
'right' | For a horizontal axis, the label is aligned with the right edge of the plot box. For a vertical axis, the label is aligned with the top edge of the plot box. |
|
Visible
— Axis visibility'on'
(default) | on/off logical valueAxis visibility, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Display the axis.
'off'
— Hide the axis without deleting it. You
still can access properties of an invisible axis using the ruler
object.
Example: ax.XAxis.Visible = 'off';
Limits
— Minimum and maximum axis limits[min max]
Minimum and maximum axis limits, specified as a two-element vector of the
form [min max]
, where min
and
max
are duration values. For
example:
d = duration(1,40:45,0); y = rand(6,1); plot(d,y) ax = gca; ax.XAxis.Limits = [d(2) d(5)];
You can specify both limits, or specify one limit and let the ruler
automatically calculate the other using an Inf
or
-Inf
duration value, such as
days(Inf)
.
Alternatively, set the limits using the xlim
, ylim
, and zlim
functions.
If you assign a value to this property, then MATLAB sets the associated mode to
'manual'
.
Note
The Limits
property for the ruler and the
associated XLim
, YLim
, or
ZLim
property for the parent axes always have
the same value. Setting one also sets the other.
LimitsMode
— Selection mode for Limits
property'auto'
(default) | 'manual'
Selection mode for the Limits
property, specified
as one of these values:
'auto'
— Automatically select
the axis limits based on the data plotted.
'manual'
— Use axis limit
values that you specify. To specify the axis limits, set the Limits
property.
Note
The LimitsMode
property for the ruler and
the associated XLimMode
, YLimMode
,
or ZLimMode
property for the parent axes always
have the same value. Setting one also sets the other.
Scale
— Scale of values along axis'linear'
(default)Scale of values along axis, returned as 'linear'
.
DurationRuler
objects do not support
log scales.
Direction
— Direction of increasing values'normal'
(default) | 'reverse'
Direction of increasing values, specified as one of these values:
'normal'
— Values increase
from left to right or bottom to top.
'reverse'
— Values increase
from right to left or top to bottom.
Note
The Direction
property for the ruler and
the associated XDir
, YDir
, or ZDir
property
for the parent axes always have the same value. Setting one also sets
the other.
Example: ax.XAxis.Direction = 'reverse';
TickValues
— Tick mark locations along the axis[]
(default) | vector of duration valuesTick mark locations along the axis, specified as a vector of duration values. For example:
d = duration(1,40:45,0); y = rand(6,1); plot(d,y) ax = gca; ax.XAxis.TickValues = [d(1) d(3) d(5)];
If you assign a value to this property, then MATLAB sets the TickValuesMode
property to
'manual'
.
Alternatively, use the xticks
, yticks
, and zticks
functions.
Note
The TickValues
property for the ruler and the
associated XTick
, YTick
, or
ZTick
property for the parent axes always have
the same value. Setting one also sets the other.
TickValuesMode
— Selection mode for TickValues
property'auto'
(default) | 'manual'
Selection mode for the TickValues
property,
specified as one of these values:
'auto'
— Automatically select
the tick values based on the data plotted.
'manual'
— Use tick values
that you specify. To specify the values, set the TickValues
property.
Note
The TickValuesMode
property for the ruler
and the associated XTickMode
, YTickMode
,
or ZTickMode
property for the parent axes always
have the same value. Setting one also sets the other.
Exponent
— Exponential notation common to all tick valuesExponential notation common to all tick values, specified as an integer
value. The Exponent
property applies only to tick labels
that show a single unit of time, such as seconds, minutes, or hours. It does
not apply to tick labels that show mixed units of time. When applicable, the
ruler displays an exponent label showing the base and exponent value.
The base value is always 10. You can change the exponent value by setting
the Exponent
property. If the exponent value is
0
, then the exponent label is not displayed.
For example, this code changes the exponent value to 8.
x = hours((1:10)*1e10); plot(x,1:10) ax = gca; ax.XAxis.Exponent = 8;
If you assign a value to this property, then MATLAB sets the ExponentMode
property to
'manual'
.
ExponentMode
— Selection mode for Exponent
property'auto'
(default) | 'manual'
Selection mode for the Exponent
property, specified as
one of these values:
'auto'
— Automatically select the
exponent value based on the axis limits.
'manual'
— Use an exponent value
that you specify. To specify the value, set the
Exponent
property.
TickLabels
— Tick mark labels''
(default) | cell array of character vectors | string array | categorical arrayTick mark labels, specified as a cell array of character vectors, string array, or categorical
array. If you do not specify enough labels for all of the tick values, then the labels
repeat. The labels support TeX and LaTeX markup. See the
TickLabelInterpreter
property for more information.
Example: ax.XAxis.TickLabels = {'January','February','March','April','May'}';
Example: ax.YAxis.TickLabels = {'\pi','2\pi','3\pi'}'
If you set this property, then MATLAB sets the TickLabelsMode
property
to 'manual'
.
Alternatively, specify the tick labels using the xticklabels
, yticklabels
,
and zticklabels
functions.
Note
If you specify this property as a categorical array, MATLAB uses the values in the array, not the categories.
The TickLabels
property for the ruler and the
associated XTickLabel
, YTickLabel
, or
ZTickLabel
property for the parent axes always have
the same value. Setting one also sets the other.
Data Types: char
| string
| categorical
TickLabelsMode
— Selection mode for TickLabels
property'auto'
(default) | 'manual'
Selection mode for the TickLabels
property,
specified as one of these values:
'auto'
— Automatically select
the tick labels.
'manual'
— Use tick labels
that you specify. To specify the labels, set the TickLabels
property.
Note
The TickLabelsMode
property for the ruler
and the associated XTickLabelMode
, YTickLabelMode
,
or ZTickLabelMode
property for the parent axes
always have the same value. Setting one also sets the other.
TickLabelInterpreter
— Tick label interpreter'tex'
(default) | 'latex'
| 'none'
Tick label interpreter, specified as one of these values:
'tex'
— Interpret characters using a subset of TeX
markup.
'latex'
— Interpret characters using LaTeX markup.
When you specify the tick labels, use dollar signs around each element in the
cell array.
'none'
— Display literal characters.
Note
Setting the TickLabelInterpreter
property for the parent axes
sets the TickLabelInterpreter
property for the ruler to the same
value. However, setting the ruler property does not set the axes property. To
prevent the axes property value from overriding the ruler property value, set the
axes value first, and then set the ruler value.
By default, MATLAB supports a subset of TeX markup. Use TeX markup to add superscripts and subscripts, modify the text type and color, and include special characters in the text.
Modifiers remain in effect until the end of the text.
Superscripts and subscripts are an exception because they modify only the next character or the
characters within the curly braces. When you set the interpreter to 'tex'
,
the supported modifiers are as follows.
Modifier | Description | Example |
---|---|---|
^{ } | Superscript | 'text^{superscript}' |
_{ } | Subscript | 'text_{subscript}' |
\bf | Bold font | '\bf text' |
\it | Italic font | '\it text' |
\sl | Oblique font (usually the same as italic font) | '\sl text' |
\rm | Normal font | '\rm text' |
\fontname{ | Font name — Replace
with the name of
a font family. You can use this in combination with other modifiers. | '\fontname{Courier} text' |
\fontsize{ | Font size —Replace
with a numeric
scalar value in point units. | '\fontsize{15} text' |
\color{ | Font color — Replace
with one of
these colors: red , green ,
yellow , magenta ,
blue , black ,
white , gray ,
darkGreen , orange , or
lightBlue . | '\color{magenta} text' |
\color[rgb]{specifier} | Custom font color — Replace
with a
three-element RGB triplet. | '\color[rgb]{0,0.5,0.5} text' |
This table lists the supported special characters for the
'tex'
interpreter.
Character Sequence | Symbol | Character Sequence | Symbol | Character Sequence | Symbol |
---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
|
| ≤ | |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ |
| ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
To use LaTeX markup, set the TickLabelInterpreter
property to
'latex'
. Use dollar symbols around the labels, for example,
use '$\int_1^{20} x^2 dx$'
for inline mode or
'$$\int_1^{20} x^2 dx$$'
for display mode.
The displayed text uses the default LaTeX font style. The
FontName
, FontWeight
, and
FontAngle
properties do not have an effect. To change the
font style, use LaTeX markup within the text. The maximum size of the text that you
can use with the LaTeX interpreter is 1200 characters. For multiline text, the
maximum size of the text reduces by about 10 characters per line.
For more information about the LaTeX system, see The LaTeX Project website at https://www.latex-project.org/.
TickLabelFormat
— Tick label formatTick label format, specified as a character vector or string scalar.
To display a duration as a single number that includes a fractional part (for example, 1.234 hours), specify one of the following formats.
Format | Description |
---|---|
'y' | Number of exact, fixed-length years. A fixed-length year is equal to 365.2425 days. |
'd' | Number of exact, fixed-length days. A fixed-length day is equal to 24 hours. |
'h' | Number of hours |
'm' | Number of minutes |
's' | Number of seconds |
To display a duration in the form of a digital timer, specify one of these formats:
'dd:hh:mm:ss'
'hh:mm:ss'
'mm:ss'
'hh:mm'
In addition, you can display up to nine fractional second
digits by appending up to nine S
characters. For example,
'hh:mm:ss.SSS'
displays the milliseconds of a
duration value to three digits.
TickLabelRotation
— Rotation of tick labelsRotation of tick labels, specified as a scalar value in degrees. Positive values give counterclockwise rotation. Negative values give clockwise rotation.
Alternatively, you can rotate the tick labels using the xtickangle
, ytickangle
,
and ztickangle
functions.
Note
The TickLabelRotation
property for the ruler
and the associated XTickLabelRotation
, YTickLabelRotation
,
or ZTickLabelRotation
property for the parent axes
always have the same value. Setting one also sets the other.
Example: ax.XAxis.TickLabelRotation = 45;
Example: ax.YAxis.TickLabelRotation = -45;
TickLabelRotationMode
— Selection mode for TickLabelRotation
property'auto'
(default) | 'manual'
Selection mode for the TickLabelRotation
property,
specified as one of these values:
'auto'
— Automatically select
the tick label rotation.
'manual'
— Use a tick label
rotation that you specify. To specify the rotation, set the TickLabelRotation
property.
TickDirection
— Tick mark direction'in'
(default) | 'out'
| 'both'
Tick mark direction, specified as one of these values:
'in'
— Direct the tick marks
inward from the axis lines. This is the default for 2-D views.
'out'
— Direct the tick
marks outward from the axis lines. This is the default for 3-D views.
'both'
— Center the tick
marks over the axis lines.
If you assign a value to this property, then MATLAB sets
the TickDirectionMode
property to 'manual'
.
Note
Setting the TickDir
property for the parent
axes sets the TickDirection
property for the ruler
to the same value. However, setting the ruler property does not set
the axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.YAxis.TickDirection = 'out';
TickDirectionMode
— Selection mode for TickDirection
property'auto'
(default) | 'manual'
Selection mode for the TickDirection
property,
specified as one of these values:
'auto'
— Automatically select
the tick direction.
'manual'
— Use a tick direction
that you specify. To specify the tick direction, set the TickDirection
property.
TickLength
— Tick mark lengthTick mark length, specified as a two-element vector of the form [2Dlength
3Dlength]
. The first element is the tick mark length in
2-D views. The second element is the tick mark length in 3-D views.
Specify the values in units normalized relative to the longest axes
dimension.
Note
Setting the TickLength
property for the parent
axes sets the TickLength
property for the ruler
to the same value. However, setting the ruler property does not set
the axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.YAxis.TickLength = [0.02 0.035];
MinorTick
— Minor tick mark display'off'
(default) | on/off logical valueMinor tick mark display, specified as 'on'
or 'off'
, or
as numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Display minor tick marks between the
major tick marks on the axis. This is the default value for an axis with a
log scale. The space between the major tick marks determines the number of
minor tick marks. If the MinorTickValues
property is set
to empty []
, then no minor tick marks appear. Specify the
tick mark locations by setting the MinorTickValues
property.
'off'
— Do not display minor tick marks. This is
the default value for an axis with a linear scale.
Note
The MinorTick
property for the ruler and
the associated XMinorTick
, YMinorTick
,
or ZMinorTick
property for the parent axes always
have the same value. Setting one also sets the other.
Example: ax.XAxis.MinorTick = 'on';
MinorTickValues
— Minor tick mark locations[]
(default) | vector of increasing valuesMinor tick mark locations, specified as a vector of increasing duration values.
If you assign values to this property, then MATLAB sets the MinorTickValuesMode
property to
'manual'
.
MinorTickValuesMode
— Selection mode for MinorTickValues
property'auto'
(default) | 'manual'
Selection mode for the MinorTickValues
property,
specified as one of these values:
'auto'
— Use automatically
calculated minor tick values.
'manual'
— Use minor tick
values that you specify. To specify the values, set the MinorTickValues
property.
FontName
— Font name'FixedWidth'
Font name, specified as a system supported font name or 'FixedWidth'
.
The default font depends on the specific system and locale. To use
a fixed-width font that renders well, specify 'FixedWidth'
.
The actual fixed-width font used depends on the FixedWidthFontName
property
of the root object.
Note
Setting the FontName
property for the parent
axes sets the FontName
property for the ruler to
the same value. However, setting the ruler property does not set the
axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.XAxis.FontName = 'Cambria';
FontSize
— Font sizeFont size, specified as a scalar numeric value. The default font size depends on the specific operating system and locale.
Note
Setting the FontSize
property for the parent
axes sets the FontSize
property for the ruler to
the same value. However, setting the ruler property does not set the
axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.XAxis.FontSize = 12;
FontWeight
— Thickness of text characters'normal'
(default) | 'bold'
Thickness of the text characters, specified as one of these values:
'normal'
— Default weight
as defined by the particular font.
'bold'
— Thicker character
outlines than normal.
MATLAB uses the FontWeight
property
to select a font from those available on your system. Not all fonts
have a bold font weight. Therefore, specifying a bold font weight
still can result in the normal font weight.
Note
Setting the FontWeight
property for the parent
axes sets the FontWeight
property for the ruler
to the same value. However, setting the ruler property does not set
the axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.XAxis.FontWeight = 'bold';
FontAngle
— Text character slant'normal'
(default) | 'italic'
Character slant, specified as 'normal'
or 'italic'
.
Not all fonts have both font styles. Therefore, the italic font can
look the same as the normal font.
Note
Setting the FontAngle
property for the parent
axes sets the FontAngle
property for the ruler
to the same value. However, setting the ruler property does not set
the axes property. To prevent the axes property value from overriding
the ruler property value, set the axes value first, and then set the
ruler value.
Example: ax.XAxis.FontAngle = 'italic';
FontSmoothing
— Text antialiasing'on'
(default) | on/off logical valueText smoothing, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Enable text antialiasing to reduce the
jagged appearance of text characters and make the text easier to read. In
certain cases, smoothed text blends against the background color and can
make the text appear blurry.
'off'
— Disable text antialiasing. Use this
setting if the text seems blurry.
Note
Setting the FontSmoothing
property for the
parent axes sets the FontSmoothing
property for
the ruler to the same value. However, setting the ruler property does
not set the axes property. To prevent the axes property value from
overriding the ruler property value, set the axes value first, and
then set the ruler value.
Example: ax.XAxis.FontSmoothing = 'off';
Parent
— Ruler parentAxes
objectRuler parent, specified as an Axes
object.
Note
Ruler objects are not listed in the Children
property
of the parent Axes
object.
Children
— Ruler childrenGraphicsPlaceholder
arrayThe ruler has no children. You cannot set this property.