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

NumericRuler 属性

控制数值轴

NumericRuler 属性可控制显示数值的 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] 形式的二元素向量。

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

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

注意

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

示例: ax.XAxis.Limits = [-10 10];

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

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

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

注意

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

值沿坐标轴的标度,指定为 'linear''log'

注意

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

示例: ax.XAxis.Scale = 'log';

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

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

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

注意

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

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

刻度值和标签

全部展开

坐标轴上的刻度线位置,指定为由递增值组成的向量。

示例: ax.XAxis.TickValues = [2 4 6 8 10];

示例: ax.XAxis.TickValues = 0:10:100;

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

或者,使用 xticksytickszticks 函数。

注意

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

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

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

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

注意

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

所有刻度值通用的指数记数法,指定为整数值。轴显示的指数标签会显示底数和指数值,例如:

底数值始终为 10。但是,您可以通过设置 Exponent 属性更改指数值。例如,将指数更改为 2。

ax = gca;
ax.YAxis.Exponent = 2;

如果指数值为 0,则不会显示指数标签。

如果您赋值给此属性,则 MATLAB 会将 ExponentMode 属性设置为 'manual'。如果轴使用对数刻度,则 Exponent 属性不起作用。

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

  • 'auto' - 根据坐标轴范围自动选择指数值。

  • 'manual' - 使用您指定的指数值。要指定值,请设置 Exponent 属性。

刻度线标签,指定为字符向量元胞数组、字符串数组或分类数组。如果您没有为所有刻度值指定足够多的标签,将会重复使用标签。标签支持 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 = '%g%%'; 会在所有刻度标签后显示百分比符号。

下表列出了部分常用的格式。

常用格式要使用的字符向量生成的格式示例
货币 - 在值之前显示美元符号,使用两位小数,并使用逗号。'$%,.2f'
$0.01
$1.00
$1,000.00
温度 - 在值之后显示度符号。'%g\\circ'
0.01o
1o
1000o
百分比 - 在值之后显示百分比符号。'%g%%'
0.01%
1%
1000%
逗号 - 在千位位置显示逗号。'%,g'
0.01
1
1,000

或者,使用 xtickformatytickformatztickformat 函数指定刻度标签格式。

自定义格式

如果上表中列出的格式都不是您需要的格式,则可以创建一个带标识符的自定义字符向量或字符串。

标识符是可选的,百分比符号和转换字符除外。按以下顺序构造格式:

  • 一个或多个标志 - 用来指示在正值之前添加加号之类的选项。如需完整的选项列表,请参阅可选标志表。

  • 字段宽度 - 刻度标签上要打印的最小字符数。请将字段宽度指定为整数值。如果刻度值中的有效位数小于字段宽度,则在标签上用空格填充。

  • 精度 - 小数点右侧的位数或有效位数,具体取决于转换字符。将精度指定为一个整数值。

  • 转换字符 - 值的类型。如需完整的选项列表,请参阅转换字符表。如果指定的转换不适合数据,MATLAB 将覆盖指定的转换并使用 %e

您还可以在格式的开头或末尾指定字面文本。要打印单引号,请使用 ''。要打印百分比字符,请使用 %%

  • '$%.2f' - 在每个值前面显示美元符号,并使用具有两位小数的定点记数法。

  • '%.3f Million' - 在每个值后面显示 Million,并使用具有三位小数的定点记数法。

可选标志

标识符说明数值格式示例
,每隔三位数显示一个逗号,例如 '1,000''%,4.4g'
+为正值打印符号字符 (+),例如 '+100''%+4.4g'
0用前导零而不是空格填充字段宽度,例如 '0100''%04.4g'
左对齐,在值的末尾而不是开头用空格填充。例如,如果字段宽度为 4,则此标志将标签格式化为 '100 ',而不是 ' 100''%-4.4g'
#

对于 %f%e%g 转换字符,即使精度为 0,也会打印小数点,例如 '100.'。对于 %g,不会删除尾随零。

'%#4.4g'

转换字符

标识符说明示例
di底数为 10 的有符号整数。精度值指示有效位数。 '%.4d' 将 π 显示为 0003
f定点记数法。精度值指示小数位数。'%.4f' 将 π 显示为 3.1416
e指数记数法。精度值指示小数位数。'%.4e' 将 π 显示为 3.1416x100
g更精简版本的 ef,不带尾随零。精度值指示最大小数位数。'%.4g' 将 π 显示为 3.1416

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

您也可以使用 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';

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

示例: ax.XAxis.MinorTickValues = [0 0.5 1 1.5 2 2.5];

示例: ax.YAxis.MinorTickValues = 0:5:100;

如果您赋值给此属性,则 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 属性中列出。

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

另请参阅

在 R2015b 中推出