本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

DatetimeRuler 属性

控制具有日期时间值的轴

DatetimeRuler 属性可控制显示日期时间值的 x 轴、y 轴或 z 轴的外观和行为。每一个单独的轴都有它自己的标尺对象。通过更改标尺的属性值,您可以修改特定轴的某些方面。

使用圆点表示法引用特定的标尺和属性。可通过 Axes 对象的 XAxisYAxisZAxis 属性访问标尺对象。

ax = gca;
co = ax.XAxis.Color;
ax.XAxis.Color = 'blue';

外观

全部展开

轴线和标签的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'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'不适用不适用不适用无颜色

以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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'

注意

标尺的 Color 属性与其父坐标区所关联的 XColorYColorZColor 属性始终具有相同的值。设置一个会同时设置另一个。

轴线和刻度线的宽度,指定为以磅为单位的正值。一磅等于 1/72 英寸。

示例: ax.XAxis.LineWidth = 2;

注意

设置父坐标区的 LineWidth 属性会将标尺的 LineWidth 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

轴标签,它是一个文本对象。要显示文本或更改现有文本,请设置文本对象的 String 属性。使用其他属性更改文本外观,例如字体样式或颜色。

ax = gca;
ax.XAxis.Label.String = 'X Axis';
ax.XAxis.Label.FontSize = 12;

如需完整的选项列表,请参阅 Text 属性

或者,使用 xlabelylabelzlabel 函数添加或修改轴标签。

注意

文本对象不是标尺对象的子级,因此无法由 findobj 返回,而且它也不使用默认的文本属性值。

轴可见性,指定为下列值之一:

  • 'on' - 显示轴。

  • 'off' - 隐藏轴而不将其删除。您仍可以使用标尺对象访问不可见轴的属性。

示例: ax.XAxis.Visible = 'off';

标度和方向

全部展开

最小和最大坐标轴范围,指定为 [min max] 形式的二元素向量,其中 minmax 是日期时间值。例如:

t = datetime(2014,6,28) + caldays(1:10);
y = rand(1,10);
plot(t,y);
ax = gca;
ax.XAxis.Limits = [t(2) t(8)];

或者,使用 xlimylimzlim 函数设置范围。

如果您赋值给此属性,则 MATLAB 会将相关联的模式设置为 'manual'

注意

标尺的 Limits 属性与其父坐标区所关联的 XLimYLimZLim 属性始终具有相同的值。设置一个会同时设置另一个。

Limits 属性的选择模式,指定为下列值之一:

  • 'auto' - 根据绘制的数据自动选择坐标轴范围。

  • 'manual' - 使用您指定的坐标轴范围值。要指定坐标轴范围,请设置 Limits 属性。

注意

标尺的 LimitsMode 属性与其父坐标区所关联的 XLimModeYLimModeZLimMode 属性始终具有相同的值。设置一个会同时设置另一个。

值沿轴的标度,返回 'linear'DatetimeRuler 对象不支持对数标度。

增加值的方向,指定为下列值之一:

  • 'normal' - 值按从左到右或从下到上增加。

  • 'reverse' - 值按从右到左或从上到下增加。

注意

标尺的 Direction 属性与其父坐标区所关联的 XDirYDirZDir 属性始终具有相同的值。设置一个会同时设置另一个。

示例: ax.XAxis.Direction = 'reverse';

刻度值和标签

全部展开

轴的刻度线位置,指定为日期时间值的向量。例如:

t = datetime(2014,6,28) + caldays(1:10);
y = rand(1,10);
plot(t,y);
ax = gca;
ax.XAxis.TickValues = [t(1) t(3) t(5) t(10)];

如果您赋值给此属性,则 MATLAB 会将 TickValuesMode 属性设置为 'manual'

或者,使用 xticksytickszticks 函数。

注意

标尺的 TickValues 属性与其父坐标区所关联的 XTickYTickZTick 属性始终具有相同的值。设置一个会同时设置另一个。

TickValues 属性的选择模式,指定为下列值之一:

  • 'auto' - 根据绘制的数据自动选择刻度值。

  • 'manual' - 使用您指定的刻度值。要指定值,请设置 TickValues 属性。

注意

标尺的 TickValuesMode 属性与其父坐标区所关联的 XTickModeYTickModeZTickMode 属性始终具有相同的值。设置一个会同时设置另一个。

刻度线标签,指定为字符向量元胞数组、字符串数组或分类数组。如果您没有为所有刻度值指定足够多的标签,将会重复使用标签。标签支持 TeX 和 LaTeX 标记。有关详细信息,请参阅 TickLabelInterpreter 属性。

示例: ax.XAxis.TickLabels = {'January','February','March','April','May'}';

示例: ax.YAxis.TickLabels = {'\pi','2\pi','3\pi'}'

如果您设置此属性,则 MATLAB 会将 TickLabelsMode 属性设置为 'manual'

或者,使用 xticklabelsyticklabelszticklabels 函数指定刻度标签。

注意

  • 如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

  • 标尺的 TickLabels 属性与其父坐标区所关联的 XTickLabelYTickLabelZTickLabel 属性始终具有相同的值。设置一个会同时设置另一个。

数据类型: char | string | categorical

TickLabels 属性的选择模式,指定为下列值之一:

  • 'auto' - 自动选择刻度标签。

  • 'manual' - 使用您指定的刻度标签。要指定标签,请设置 TickLabels 属性。

注意

标尺的 TickLabelsMode 属性与其父坐标区所关联的 XTickLabelModeYTickLabelModeZTickLabelMode 属性始终具有相同的值。设置一个会同时设置另一个。

刻度标签中字符的解释,指定为下列值之一:

  • 'tex' - 使用 TeX 标记子集解释字符。

  • 'latex' - 使用 LaTeX 标记解释字符。

  • 'none' - 显示字面字符。

注意

设置父坐标区的 TickLabelInterpreter 属性会将标尺的 TickLabelInterpreter 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.TickLabelInterpreter = 'latex';

TeX 标记

默认情况下,MATLAB 支持一部分 TeX 标记。使用 TeX 标记可添加下标和上标,修改文本类型和颜色,并在文本中包括特殊字符。

下表列出了当 TickLabelInterpreter 属性设置为 'tex' 时支持的修饰符。修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号 {} 中的文本。

修饰符说明示例
^{ }上标'text^{superscript}'
_{ }下标'text_{subscript}'
\bf粗体'\bf text'
\it斜体'\it text'
\sl伪斜体(极少使用)'\sl text'
\rm常规字体'\rm text'
\fontname{specifier}specifier 设置为字体系列的名称以更改字体样式。您可以将此说明符与其他修饰符结合使用。'\fontname{Courier} text'
\fontsize{specifier}specifier 设置为数值标量以更改字体大小。'\fontsize{15} text'
\color{specifier}specifer 设置为下列颜色之一:redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue'\color{magenta} text'
\color[rgb]{specifier}specifier 设置为包含三个元素的 RGB 三元组以更改字体颜色。'\color[rgb]{0,0.5,0.5} text'

下表列出了当 Interpreter 属性设置为 'tex' 时支持的特殊字符。

字符序列符号字符序列符号字符序列符号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

LaTeX 标记

要使用 LaTeX 标记,请将 TickLabelInterpreter 属性设置为 'latex'。使用美元符号将标签括起来,例如,对于行内模式,使用 '$\int_1^{20} x^2 dx$';对于行间模式,使用 '$$\int_1^{20} x^2 dx$$'

显示的文本将使用默认的 LaTeX 字体样式。FontNameFontWeightFontAngle 属性不起任何作用。要更改字体样式,请在文本中使用 LaTeX 标记。用于 LaTeX 解释器的文本最多可以包含 1200 个字符。对于多行文本,需在此基础上每行再减少约 10 个字符。

有关 LaTeX 系统的详细信息,请访问 LaTeX Project 网站:https://www.latex-project.org/

刻度标签格式,指定为字符向量或字符串。默认格式基于数据。

示例: ax.XAxis.TickLabelFormat = 'yyyy-MM-dd'; 显示日期和时间,例如 2014-04-19

示例: ax.XAxis.TickLabelFormat = 'eeee, MMMM d, yyyy HH:mm:ss'; 显示日期和时间,例如 Saturday, April 19, 2014 21:41:06

示例: ax.XAxis.TickLabelFormat = 'MMMM d, yyyy HH:mm:ss Z'; 显示日期和时间,例如 April 19, 2014 21:41:06 -0400

下表显示了可用于构造格式的字母标识符。可以使用连字符、空格、冒号或任何非 ASCII 字符等非字母字符来分隔字段。这些标识符遵从日期的 Unicode® 区域数据标记语言 (LDML) 标准。

日期和时间格式

使用这些标识符指定日期和时间字段的显示格式。

字母标识符说明显示
G年代CE
y年份,没有前导零。请参阅紧随此表后的“注释”。2014
yy年份,使用最后两位数。请参阅紧随此表后的“注释”。14
yyy, yyyy ...年份,至少使用 'y' 实例数指定的位数对于年份 2014,'yyy' 显示 2014,而 'yyyyy' 则显示 02014
u, uu, ...ISO 年份。单个数字来指定年份。ISO 年份值将正数值分配给 CE 年份,将负数值分配给 BCE 年份,1 BCE 表示年份 0。2014
Q季度,使用一位数2
QQ季度,使用两位数02
QQQ季度,缩写2 季度
QQQQ季度,全名第二季度
M月份,使用一位或两位数字4
MM月份,使用两位数字04
MMM月份,缩写名称四月
MMMM月份,全名四月
MMMMM月份,首字母大写A
W一月中的第几周1
d一月中的第几天,使用一位或两位数5
dd一月中的第几天,使用两位数05
D一年中的第几天,使用一位、两位或三位数95
DD一年中的第几天,使用两位数95
DDD一年中的第几天,使用三位数095
e一周中的星期几,使用一位或两位数的数值。7,星期日是一周中的第一天。
ee一周中的星期几,使用两位数字07
eee星期几,缩写名称周六
eeee星期几,全名星期六
eeeee星期几,使用一位大写数字
a一天中的时段(上午或下午)下午
h小时,采用 12 小时制格式,使用一位或两位数9
hh小时,采用 12 小时制格式,使用两位数09
H小时,采用 24 小时制格式,使用一位或两位数21
HH小时,采用 24 小时制格式,使用两位数21
m分钟,使用一位或两位数41
mm分钟,使用两位数41
s秒,使用一位或两位数6
ss秒,使用两位数06
S, SS, ..., SSSSSSSSS小数秒,使用 'S' 个数所指定的位数(最多 9 位)。'SSS' 将 6.12345 秒截断为 123

一些提示和注意事项:

  • 如果您读取两位年数并将格式指定为 yyy,则基准年份确定该年所属的世纪。

  • 使用一个或多个 u 字符而非 y 字符在使用接近零的年数时解释年份。

  • 公元 144683 年之后或公元前 140743 年之前的日期时间值仅显示年份数字,而不管指定的格式值为何。

时区偏移量格式

使用这些标识符指定时区偏移量的显示格式。时区偏移量是指具体日期时间与 UTC 之间相差的时间量。这不同于时区,时区包含确定一年特定时间的偏移量的规则。若要确保明确地显示时间,请加上时区偏移量标识符。

字母标识符说明显示
z时区偏移量的缩写名称。如果此值不可用,则时区偏移量使用短 UTC 格式,例如 UTC-4EDT
ZISO 8601 基本格式,带有小时、分钟和可选的秒字段。-0400
ZZZZ长 UTC 格式。UTC-04:00
ZZZZZISO 8601 扩展格式,带有小时、分钟和可选的秒字段。以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-04:00
xXISO 8601 基本格式,带有小时字段和可选的分钟字段。如果您指定 X,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-04
xxXXISO 8601 基本格式,带有小时和分钟字段。如果您指定 XX,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-0400
xxxXXXISO 8601 扩展格式,带有小时和分钟字段。如果您指定 XXX,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-04:00
xxxxXXXXISO 8601 基本格式,带有小时、分钟和可选的秒字段。如果您指定 XXXX,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-0400
xxxxxXXXXXISO 8601 扩展格式,带有小时、分钟和可选的秒字段。如果您指定 XXXXX,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。-04:00

TickLabelFormat 属性的选择模式,指定为下列值之一:

  • 'auto' - 自动选择刻度标签格式。

  • 'manual' - 使用您指定的刻度标签格式。要指定格式,请设置 TickLabelFormat 属性。

刻度标签旋转,指定为以度为单位的标量值。正值将导致按逆时针旋转。负值产生顺时针旋转。

您也可以使用 xtickangleytickangleztickangle 函数旋转刻度标签。

注意

标尺的 TickLabelRotation 属性与其父坐标区所关联的 XTickLabelRotationYTickLabelRotationZTickLabelRotation 属性始终具有相同的值。设置一个会同时设置另一个。

示例: ax.XAxis.TickLabelRotation = 45;

示例: ax.YAxis.TickLabelRotation = -45;

TickLabelRotation 属性的选择模式,指定为下列值之一:

  • 'auto' - 自动选择刻度标签旋转方式。

  • 'manual' - 使用您指定的刻度标签旋转方式。要指定旋转方式,请设置 TickLabelRotation 属性。

刻度线方向,指定为下列值之一:

  • 'in' - 刻度线从轴线指向内部。这是二维视图的默认值。

  • 'out' - 刻度线从轴线指向外部。这是三维视图的默认值。

  • 'both' - 刻度线以轴线为中心。

如果您赋值给此属性,则 MATLAB 会将 TickDirectionMode 属性设置为 'manual'

注意

设置父坐标区的 TickDir 属性会将标尺的 TickDirection 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.YAxis.TickDirection = 'out';

TickDirection 属性的选择模式,指定为下列值之一:

  • 'auto' - 自动选择刻度方向。

  • 'manual' - 使用您指定的刻度方向。要指定刻度方向,请设置 TickDirection 属性。

刻度线长度,指定为 [2Dlength 3Dlength] 形式的二元素向量。第一个元素是二维视图中的刻度线长度。第二个元素是三维视图中的刻度线长度。指定值时采用的是以坐标区最长维度为基准的归一化单位。

注意

设置父坐标区的 TickLength 属性会将标尺的 TickLength 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.YAxis.TickLength = [0.02 0.035];

次刻度线显示方式,指定为下列值之一:

  • 'off' - 不显示次刻度线。这是使用线性刻度的轴的默认值。

  • 'on' - 在坐标轴的主刻度线之间显示次刻度线。这是使用对数刻度的轴的默认值。主刻度线的间距决定次刻度线的数目。如果 MinorTickValues 属性设置为空 [],则不会出现次刻度线。通过设置 MinorTickValues 属性,指定刻度线的位置。

注意

标尺的 MinorTick 属性与其父坐标区所关联的 XMinorTickYMinorTickZMinorTick 属性始终具有相同的值。设置一个会同时设置另一个。

示例: ax.XAxis.MinorTick = 'on';

次刻度线位置,指定为由递增日期时间值组成的向量。

如果您赋值给此属性,则 MATLAB 会将 MinorTickValuesMode 属性设置为 'manual'

MinorTickValues 属性的选择模式,指定为下列值之一:

  • 'auto' - 使用自动计算的次刻度值。

  • 'manual' - 使用您指定的次刻度值。要指定值,请设置 MinorTickValues 属性。

字体

全部展开

字体名称,指定为系统支持的字体名称或 'FixedWidth'。默认字体取决于特定的操作系统和区域设置。要使用渲染效果好的等宽字体,请指定 'FixedWidth'。使用的实际等宽字体取决于根对象的 FixedWidthFontName 属性。

注意

设置父坐标区的 FontName 属性会将标尺的 FontName 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.FontName = 'Cambria';

字体大小,指定为数值标量。默认字体大小取决于具体操作系统和区域设置。

注意

设置父坐标区的 FontSize 属性会将标尺的 FontSize 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.FontSize = 12;

文本字符的粗细,指定为下列值之一:

  • 'normal' - 特定字体定义的默认粗细。

  • 'bold' - 字符轮廓比普通字符粗。

MATLAB 使用 FontWeight 属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。

注意

设置父坐标区的 FontWeight 属性会将标尺的 FontWeight 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.FontWeight = 'bold';

字符倾斜,指定为 'normal''italic'。并非所有字体都有两种字体样式。因此,斜体可能看上去与常规字体一样。

注意

设置父坐标区的 FontAngle 属性会将标尺的 FontAngle 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.FontAngle = 'italic';

文本平滑处理,指定为下列值之一:

  • 'on' - 启用文本消除锯齿功能,以改善文本字符的锯齿状外观并使文本更易于阅读。在某些情况下,经过平滑处理的文本在背景色下会产生模糊效果。

  • 'off' - 禁用文本消除锯齿功能。在文本看似模糊时使用此设置。

注意

设置父坐标区的 FontSmoothing 属性会将标尺的 FontSmoothing 属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。

示例: ax.XAxis.FontSmoothing = 'off';

父级/子级

全部展开

标尺的父级,指定为 Axes 对象。

注意

标尺对象未在父级 Axes 对象的 Children 属性中列出。

标尺没有任何子级。您不能设置该属性。

另请参阅

在 R2016b 中推出