Axes 属性
坐标区的外观和行为
Axes
属性控制 Axes
对象的外观和行为。通过更改属性值,您可以修改坐标区的特定方面。使用圆点表示法查询和设置属性。
ax = gca; c = ax.Color; ax.Color = 'blue';
字体
字体名称,指定为支持的字体名称或 "FixedWidth"
。要正确显示和打印文本,您必须选择系统支持的字体。默认字体取决于您的操作系统和区域设置。
要使用在任何区域设置中都有较好显示效果的等宽字体,请使用 "FixedWidth"
。等宽字体依赖于根 FixedWidthFontName
属性。设置根 FixedWidthFontName
属性会导致立即更新显示方式以使用新字体。
字符粗细,指定为 'normal'
或 'bold'
。
MATLAB® 使用 FontWeight
属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。
字体大小,指定为数值标量。字体大小会影响标题、轴标签和刻度标签。还会影响与坐标区关联的任何图例或颜色栏。默认字体大小取决于具体操作系统和区域设置。默认情况下,字体大小以磅为单位进行测量。要更改单位,请设置 FontUnits
属性。
MATLAB 会自动将某些文本缩放为坐标区字体大小的百分比。
标题和轴标签 - 默认情况下为坐标区字体大小的 110%。要控制缩放比例,请使用
TitleFontSizeMultiplier
和LabelFontSizeMultiplier
属性。图例和颜色栏 - 默认情况下为坐标区字体大小的 90%。要指定不同的字体大小,请设置
Legend
或Colorbar
对象的FontSize
属性。
示例: ax.FontSize = 12
字体大小的选择模式,指定为下列值之一:
'auto'
- 由 MATLAB 指定的字体大小。如果将坐标区的大小调整为小于默认大小,则字体大小可能会缩小以改善可读性和布局。'manual'
- 手动指定的字体大小。不随坐标区大小改变而缩放字体大小。要指定字体大小,请设置FontSize
属性。
字符倾斜,指定为 'normal'
或 'italic'
。
并非所有字体都有两种字体样式。因此,斜体可能看上去和常规字体一样。
标签字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize
属性的值,以确定 x 轴、y 轴和 z 轴标签的字体大小。
示例: ax.LabelFontSizeMultiplier = 1.5
标题字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize
属性的值,以确定标题的字体大小。
标题字符的粗细,指定为下列值之一:
'normal'
- 特定字体定义的默认粗细'bold'
- 字符粗细比普通的粗
副标题字符粗细,指定为下列值之一:
'normal'
- 特定字体定义的默认粗细'bold'
- 字符粗细比普通的粗
字体大小单位,指定为下列值之一。
Units | 描述 |
---|---|
'points' | 磅。一磅等于 1/72 英寸。 |
'inches' | 英寸。 |
'centimeters' | 厘米。 |
'normalized' | 按坐标区高度的一定比例来解释字体大小。如果您调整坐标区的大小,则字体大小也会相应地修改。例如,如果 FontSize 为 0.1 (归一化单位),则文本为坐标区属性 Position 中存储的高度值的 1/10。 |
'pixels' | 像素。 在 Windows® 和 Macintosh 系统上,像素的大小为 1/96 英寸。此大小与系统分辨率无关。 在 Linux® 系统上,一个像素的大小由系统分辨率确定。 |
要在同一个函数调用中设置字体大小和字体单位,必须先设置 FontUnits
属性,以便 Axes
对象能够正确解释指定的字体大小。
刻度
刻度值,指定为由递增值组成的向量。如果您不希望沿坐标轴显示刻度线,请指定空向量 []
。刻度值是坐标轴上显示刻度线的位置。刻度标签是您在每个刻度线旁边看到的标签。使用 XTickLabels
、YTickLabels
和 ZTickLabels
属性指定关联的标签。
示例: ax.XTick = [2 4 6 8 10]
示例: ax.YTick = 0:10:100
也可以使用 xticks
、yticks
和 zticks
函数指定刻度值。有关示例,请参阅指定坐标轴刻度值和标签。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
刻度值的选择模式,指定为下列值之一:
'auto'
- 根据坐标轴的数据范围自动选择刻度值。'manual'
- 手动指定刻度值。要指定值,请设置XTick
、YTick
或ZTick
属性。
示例: ax.XTickMode = 'auto'
刻度标签,指定为字符向量元胞数组、字符串数组或分类数组。如果您不希望显示刻度标签,请指定空元胞数组 {}
。如果您没有为所有刻度值指定足够多的标签,将会重复使用标签。
刻度标签支持 TeX 和 LaTeX 标记。有关详细信息,请参阅 TickLabelInterpreter
属性。
如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是类别。
作为设置此属性的替代方法,您还可以使用 xticklabels
、yticklabels
和 zticklabels
函数。有关示例,请参阅指定坐标轴刻度值和标签。
示例: ax.XTickLabel = {'Jan','Feb','Mar','Apr'}
刻度标签的选择模式,指定为下列值之一:
'auto'
- 自动选择刻度标签。'manual'
- 手动指定刻度标签。要指定标签,请设置XTickLabel
、YTickLabel
或ZTickLabel
属性。
示例: ax.XTickLabelMode = 'auto'
刻度标签解释器,指定为下列值之一:
'tex'
- 使用 TeX 标记子集解释标签。'latex'
- 使用 LaTeX 标记子集解释标签。当您指定刻度标签时,请在元胞数组中的每个元素周围使用美元符号。'none'
- 显示字面字符。
TeX 标记
默认情况下,MATLAB 支持一部分 TeX 标记。使用 TeX 标记可添加下标和上标,修改文本类型和颜色,并在标签中包括特殊字符。
修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 "tex"
时,支持的修饰符如下所示。
修饰符 | 描述 | 示例 |
---|---|---|
^{ } | 上标 | "text^{superscript}" |
_{ } | 下标 | "text_{subscript}" |
\bf | 粗体 | "\bf text" |
\it | 斜体 | "\it text" |
\sl | 伪斜体(通常与斜体相同) | "\sl text" |
\rm | 常规字体 | "\rm text" |
\fontname{ | 字体名称 - 将 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。 | "\fontname{Courier} text" |
\fontsize{ | 字体大小 - 将 替换为以磅为单位的数值标量值。 | "\fontsize{15} text" |
\color{ | 字体颜色 - 将 替换为以下颜色之一:red 、green 、yellow 、magenta 、blue 、black 、white 、gray 、darkGreen 、orange 或 lightBlue 。 | "\color{magenta} text" |
\color[rgb]{specifier} | 自定义字体颜色 - 将 替换为三元素 RGB 三元组。 | "\color[rgb]{0,0.5,0.5} text" |
下表列出了 "tex"
解释器所支持的特殊字符。
字符序列 | 符号 | 字符序列 | 符号 | 字符序列 | 符号 |
---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
| ϕ |
| ≤ |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ |
| ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
LaTeX 标记
要使用 LaTeX 标记,请将 TickLabelInterpreter
属性设置为 'latex'
。使用美元符号将标签括起来,例如,对于行内模式,使用 '$\int_1^{20} x^2 dx$'
;对于行间模式,使用 '$$\int_1^{20} x^2 dx$$'
。
显示的文本将使用默认的 LaTeX 字体样式。FontName
、FontWeight
和 FontAngle
属性不起任何作用。要更改字体样式,请在文本中使用 LaTeX 标记。用于 LaTeX 解释器的文本最多可以包含 1200 个字符。对于多行文本,需在此基础上每行再减少约 10 个字符。
MATLAB 支持大多数标准 LaTeX 数学模式命令。有关详细信息,请参阅支持的 LaTeX 命令。有关使用 TeX 和 LaTeX 的示例,请参阅图文本中的希腊字母和特殊字符。
刻度标签的旋转,指定为以度为单位的数值。正值将导致按逆时针旋转。负值产生顺时针旋转。
示例: ax.XTickLabelRotation = 45
示例: ax.YTickLabelRotation = 90
或者,使用 xtickangle
、ytickangle
和 ztickangle
函数。
刻度标签旋转的选择模式,指定为下列值之一:
'auto'
- 自动选择刻度标签旋转方式。'manual'
- 使用您指定的刻度标签旋转方式。要指定旋转,请设置XTickLabelRotation
、YTickLabelRotation
或ZTickLabelRotation
属性。
次刻度线,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 在坐标轴的主刻度线之间显示次刻度线。主刻度线的间距决定次刻度线的数目。此值是使用对数刻度的坐标轴的默认值。'off'
- 不显示次刻度线。此值是使用线性刻度的坐标轴的默认值。
示例: ax.XMinorTick = 'on'
刻度线方向,指定为下列值之一:
'in'
- 刻度线从轴线指向内部。(二维视图的默认值)'out'
- 刻度线从轴线指向外部。(三维视图的默认值)'both'
- 刻度线以轴线为中心。'none'
- 不显示任何刻度线。
TickDir
属性的选择模式,指定为下列值之一:
'auto'
- 根据当前视图自动选择刻度方向。'manual'
- 手动指定刻度方向。要指定刻度方向,请设置TickDir
属性。
示例: ax.TickDirMode = 'auto'
刻度线长度,指定为 [2Dlength 3Dlength]
形式的二元素向量。第一个元素是二维视图中的刻度线长度,第二个元素是三维视图中的刻度线长度。指定值是以可见的 x 轴、y 轴或 z 轴中最长线条为基准进行归一化的值。
示例: ax.TickLength = [0.02 0.035]
标尺
最小和最大范围,指定为 [min max]
形式的二元素向量,其中 max
大于 min
。您可以将范围指定为数字、分类、日期时间或持续时间值。但您指定的值类型必须与坐标轴上的值类型匹配。
您可以指定这两个范围,也可以指定一个范围而让 MATLAB 自动计算另一个范围。对于自动计算的最小或最大范围,请分别使用 -inf
或 inf
。MATLAB 使用 'tight'
范围方法计算对应的范围。
示例: ax.XLim = [0 10]
示例: ax.YLim = [-inf 10]
示例: ax.ZLim = [0 inf]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
坐标轴范围的选择模式,指定为下列值之一:
'auto'
- 启用自动范围选择,具体范围基于所绘制数据的总跨度和XLimitMethod
、YLimitMethod
或ZLimitMethod
属性的值。'manual'
- 手动指定坐标轴范围。要指定坐标轴范围,请设置XLim
、YLim
或ZLim
属性。
示例: ax.XLimMode = 'auto'
坐标轴范围选择方法,指定为下表中的一个值。表中的示例显示 XLimitMethod
属性不同值的大致外观。根据您的数据、坐标区的大小和您创建的绘图类型,结果可能会有所不同。
值 | 描述 | 示例:(XLimitMethod )。 |
---|---|---|
'tickaligned' | 通常,将坐标区框的边缘与最接近数据的刻度线对齐,但不排除任何数据。外观可能因绘制的数据类型和创建的图类型而异。 |
|
'tight' | 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据。 |
|
'padded' | 使坐标区框贴合数据,每侧只留很窄的填充边距。边距的宽度大约是数据范围的 7%。 |
|
注意
当对应的模式属性(XLimMode
、YLimMode
或 ZLimMode
)设置为 'manual'
时,坐标轴范围方法不起作用。
轴标尺,以标尺对象的形式返回。标尺控制 x 轴、y 轴或 z 轴的外观和行为。通过访问相关的标尺并设置标尺属性,可以修改坐标轴的外观和行为。MATLAB 为每个轴创建的标尺类型取决于绘制的数据。有关 Axes
对象支持的标尺属性的列表,请参阅:
例如,通过 XAxis
属性访问 x 轴的标尺。然后,更改标尺的 Color
属性,使 x 轴的颜色为红色。同样,将 y 轴的颜色更改为绿色。
ax = gca; ax.XAxis.Color = 'r'; ax.YAxis.Color = 'g';
Axes
对象有两个 y 轴,则 YAxis
属性存储两个标尺对象。x 轴位置,指定为下表中的值之一。此属性仅应用于二维视图。
值 | 描述 | 结果 |
---|---|---|
'bottom' | 坐标区的底部。 例如: | |
'top' | 坐标区的顶部。 例如: | |
'origin' | 穿过原点 (0,0)。 例如: |
y 轴位置,指定为下表中的值之一。此属性仅应用于二维视图。
值 | 描述 | 结果 |
---|---|---|
'left' | 坐标区的左侧。 例如: | |
'right' | 坐标区的右侧。 例如: | |
'origin' | 穿过原点 (0,0)。 例如: |
x、y 或 z 方向的轴线、刻度值和标签的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。您指定的颜色还会影响网格线,除非您使用 GridColor
或 MinorGridColor
属性指定网格线颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
示例: ax.XColor = [1 1 0]
示例: ax.YColor = 'y'
示例: ax.ZColor = 'yellow'
示例: ax.ZColor = '#FFFF00'
用于设置 x 轴网格颜色的属性,指定为 'auto'
或 'manual'
。模式值仅影响 x 轴网格颜色。无论在什么模式下,x 轴线、刻度值和标签始终使用 XColor
值。
x 轴网格颜色取决于 XColorMode
属性和 GridColorMode
属性,如下表所示。
XColorMode | GridColorMode | x 轴网格颜色 |
---|---|---|
'auto' | 'auto' | GridColor 属性 |
'manual' | GridColor 属性 | |
'manual' | 'auto' | XColor 属性 |
'manual' | GridColor 属性 |
x 轴次网格颜色取决于 XColorMode
属性和 MinorGridColorMode
属性,如下表所示。
XColorMode | MinorGridColorMode | x 轴次网格颜色 |
---|---|---|
'auto' | 'auto' | MinorGridColor 属性 |
'manual' | MinorGridColor 属性 | |
'manual' | 'auto' | XColor 属性 |
'manual' | MinorGridColor 属性 |
用于设置 y 轴网格颜色的属性,指定为 'auto'
或 'manual'
。模式值仅影响 y 轴网格颜色。无论在什么模式下,y 轴线、刻度值和标签始终使用 YColor
值。
y 轴网格颜色取决于 YColorMode
属性和 GridColorMode
属性,如下表所示。
YColorMode | GridColorMode | y 轴网格颜色 |
---|---|---|
'auto' | 'auto' | GridColor 属性 |
'manual' | GridColor 属性 | |
'manual' | 'auto' | YColor 属性 |
'manual' | GridColor 属性 |
y 轴次网格颜色取决于 YColorMode
属性和 MinorGridColorMode
属性,如下表所示。
YColorMode | MinorGridColorMode | y 轴次网格颜色 |
---|---|---|
'auto' | 'auto' | MinorGridColor 属性 |
'manual' | MinorGridColor 属性 | |
'manual' | 'auto' | YColor 属性 |
'manual' | MinorGridColor 属性 |
用于设置 z 轴网格颜色的属性,指定为 'auto'
或 'manual'
。模式值仅影响 z 轴网格颜色。无论在什么模式下,z 轴线、刻度值和标签始终使用 ZColor
值。
z 轴网格颜色取决于 ZColorMode
属性和 GridColorMode
属性,如下表所示。
ZColorMode | GridColorMode | z 轴网格颜色 |
---|---|---|
'auto' | 'auto' | GridColor 属性 |
'manual' | GridColor 属性 | |
'manual' | 'auto' | ZColor 属性 |
'manual' | GridColor 属性 |
z 轴次网格颜色取决于 ZColorMode
属性和 MinorGridColorMode
属性,如下表所示。
ZColorMode | MinorGridColorMode | z 轴次网格颜色 |
---|---|---|
'auto' | 'auto' | MinorGridColor 属性 |
'manual' | MinorGridColor 属性 | |
'manual' | 'auto' | ZColor 属性 |
'manual' | MinorGridColor 属性 |
x 轴方向,指定为下列值之一。
值 | 描述 | 生成二维视图 | 生成三维视图 |
---|---|---|---|
'normal' | 值从左向右逐渐增加。 例如: | ||
'reverse' | 值从右向左逐渐增加。 例如: |
y 轴方向,指定为下列值之一。
值 | 描述 | 生成二维视图 | 生成三维视图 |
---|---|---|---|
'normal' | 值从下向上(二维视图)或从前向后(三维视图)逐渐增加。 例如: | ||
'reverse' | 值从上向下(二维视图)或从后向前(三维视图)逐渐增加。 例如: |
z 轴方向,指定为下列值之一。
值 | 描述 | 生成三维视图 |
---|---|---|
'normal' | 值按从内向外(二维视图)或从下向上(三维视图)逐渐增加。 例如: | |
'reverse' | 值按从外向内(二维视图)或从上向下(三维视图)逐渐增加。 例如: |
坐标轴刻度,指定为下列值之一。
值 | 描述 | 结果 |
---|---|---|
'linear' | 线性刻度 示例: | ![]() |
'log' | 对数刻度 示例: 注意 坐标区在某些情况下可能会排除坐标:
| ![]() |
网格
网格线,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 坐标轴正交的网格线,例如,沿着常量 x、y 或 z 值对应的线条。'off'
- 不显示网格线。
还可以使用 grid on
或 grid off
命令将所有三个属性分别设置为 'on'
或 'off'
。有关详细信息,请参阅 grid
。
示例: ax.XGrid = 'on'
网格线和刻度线相对于图形对象的位置,指定为下列值之一:
'bottom'
- 在图形对象下方显示刻度线和网格线。'top'
- 在图形对象上方显示刻度线和网格线。
此属性仅影响二维视图。
示例: ax.Layer = 'top'
网格线的线型,指定为下表中的线型之一。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
要显示网格线,请使用 grid on
命令或将 XGrid
、YGrid
或 ZGrid
属性设置为 'on'
。
示例: ax.GridLineStyle = '--'
自 R2023a 起
网格线宽度,指定为正数。设置此属性或 MinorGridLineWidth
属性可独立于框轮廓和刻度线控制网格线的粗细。
示例
创建向量 x
和 y
,并对其绘图。通过调用 grid on
显示坐标区中的网格线。通过将坐标区的 LineWidth
属性设置为 1.5
,增大网格线、框轮廓和刻度线的粗细。
x = linspace(0,10);
y = sin(x);
plot(x,y)
grid on
ax = gca;
ax.LineWidth = 1.5;
通过将网格线宽度设置为 0.5
使网格线变细。
ax.GridLineWidth = 0.5;
自 R2023a 起
如何设置网格线宽度,指定为以下值之一:
"auto"
- 将GridLineWidth
属性设置为与LineWidth
属性相同的值。"manual"
- 保留GridLineWidth
属性的当前值。
当您将 GridLineWidth
属性显式设置为一个值时,MATLAB 会将此属性设置为 "manual"
。
网格线的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
要为坐标区框轮廓设置颜色,请使用 XColor
、YColor
和 ZColor
属性。
要显示网格线,请使用 grid on
命令或将 XGrid
、YGrid
或 ZGrid
属性设置为 'on'
。
示例: ax.GridColor = [0 0 1]
示例: ax.GridColor = 'b'
示例: ax.GridColor = 'blue'
示例: ax.GridColor = '#0000FF'
用于设置网格颜色的属性,指定为下列值之一:
'auto'
- 检查XColorMode
、YColorMode
和ZColorMode
属性的值,以确定 x、y 和 z 方向的网格线颜色。'manual'
- 使用GridColor
设置所有方向的网格线颜色。
网格线透明度,指定为范围 [0,1]
中的值。值为 1
表示不透明,值为 0
表示完全透明。
示例: ax.GridAlpha = 0.5
GridAlpha
属性的选择模式,指定为下列值之一:
'auto'
- 使用默认透明度值0.15
。'manual'
- 手动指定透明度值。要指定值,请设置GridAlpha
属性。
示例: ax.GridAlphaMode = 'auto'
次网格线,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示与轴的次刻度线对齐的网格线。不必启用次刻度即可显示次网格线。'off'
- 不显示网格线。
或者使用 grid minor
命令切换次网格线的可见性。
示例: ax.XMinorGrid = 'on'
次网格线的线型,指定为下表中显示的线型之一。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
要显示次网格线,请使用 grid minor
命令或将 XMinorGrid
、YMinorGrid
或 ZMinorGrid
属性设置为 'on'
。
示例: ax.MinorGridLineStyle = '-.'
自 R2023a 起
次网格线宽度,指定为正数。设置此属性或 GridLineWidth
属性可独立于框轮廓和刻度线控制网格线的粗细。
提示
要查看次网格线,请将
XMinorGrid
、YMinorGrid
或ZMinorGrid
属性设置为"on"
。当您设置
GridLineWidth
属性时,MATLAB 会同时将MinorGridLineWidth
属性设置为相同的值。要避免更改MinorGridLineWidth
属性,请在设置GridLineWidth
属性之前,将MinorGridLineWidthMode
属性设置为"manual"
。
自 R2023a 起
如何设置次网格线宽度,指定为以下值之一:
"auto"
- 将MinorGridLineWidth
属性设置为与GridLineWidth
属性相同的值。"manual"
- 保留MinorGridLineWidth
属性的当前值。
当您将 MinorGridLineWidth
属性显式设置为一个值时,MATLAB 会将此属性设置为 "manual"
。
次网格线的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
要显示次网格线,请使用 grid minor
命令或将 XMinorGrid
、YMinorGrid
或 ZMinorGrid
属性设置为 'on'
。
示例: ax.MinorGridColor = [0 0 1]
示例: ax.MinorGridColor = 'b'
示例: ax.MinorGridColor = 'blue'
示例: ax.MinorGridColor = '#0000FF'
用于设置次网格颜色的属性,指定为下列值之一:
'auto'
- 检查XColorMode
、YColorMode
和ZColorMode
属性的值,以确定 x、y 和 z 方向的网格线颜色。'manual'
- 使用MinorGridColor
设置所有方向的次网格线颜色。
次网格线透明度,指定为范围 [0,1]
中的值。值为 1
表示不透明,值为 0
表示完全透明。
示例: ax.MinorGridAlpha = 0.5
MinorGridAlpha
属性的选择模式,指定为下列值之一:
'auto'
- 使用默认透明度值0.25
。'manual'
- 手动指定透明度值。要指定值,请设置MinorGridAlpha
属性。
示例: ax.MinorGridAlphaMode = 'auto'
标签
坐标区副标题的文本对象。要添加副标题,请设置文本对象的 String
属性。要更改其外观,如字体角度,请设置其他属性。有关完整列表,请参阅 Text 属性。
ax = gca; ax.Subtitle.String = 'An Insightful Subtitle'; ax.Subtitle.FontAngle = 'italic';
也可以使用 subtitle
函数添加副标题并控制外观。
subtitle('An Insightful Subtitle','FontAngle','italic')
或者使用 title
函数,指定两个字符向量输入参量和两个输出参量。然后设置该函数返回的第二个文本对象的属性。
[t,s] = title('Clever Title','An Insightful Subtitle'); s.FontAngle = 'italic';
注意
此文本对象不包含在坐标区的 Children
属性中,它不能由 findobj
返回,也不使用为文本对象定义的默认值。
标题和副标题与图框水平对齐,指定为下表中的值之一。
TitleHorizontalAlignment 值 | 描述 | 外观 |
---|---|---|
'center' | 标题和副标题位于图框上方的居中位置。 |
|
'left' | 标题和副标题与图框的左侧对齐。 |
|
'right' | 标题和副标题与图框的右侧对齐。 |
|
多个绘图
色序,指定为由 RGB 三元组组成的三列矩阵。此属性定义 MATLAB 创建绘图对象(例如 Line
、Scatter
和 Bar
对象)时使用的颜色的调色板。数组的每一行都是一个 RGB 三元组。RGB 三元组是包含三个元素的向量,其元素分别指定颜色的红、绿、蓝分量的强度。强度必须在 [0, 1] 范围内。下表列出了默认颜色。
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
MATLAB 根据对象的创建顺序为对象分配颜色。例如,在绘制线条时,第一条线用第一种颜色,第二条线用第二种颜色,以此类推。如果线条比颜色多,则循环使用颜色。
在绘图之前或之后更改色序
您可以通过下列任一方式更改色序:
调用
colororder
函数以更改图窗中所有坐标区的色序。此函数提供多个预定义的调色板以供选择。调用此函数时,图窗中现有绘图的颜色会立即更新。如果您在图窗中放入其他坐标区,则这些坐标区也会使用新的色序。如果您继续调用绘图命令,这些命令会使用新的颜色。对坐标区设置
ColorOrder
属性,调用hold
函数以将坐标区保留状态设置为'on'
,然后调用所需的绘图函数。这类似于调用colororder
函数,但在本例中是为特定坐标区设置色序,而不是为整个图窗设置。必须将hold
状态设置为'on'
,从而确保后续绘图命令不会重置坐标区以使用默认色序。
线型序列,指定为字符向量、字符向量元胞数组或字符串数组。此属性列出了 MATLAB 在坐标区中显示多个绘图线条时使用的线型。MATLAB 根据创建线条的顺序为它们分配线型。默认情况下,只有在对当前线型用尽 ColorOrder
属性中的所有颜色后,它才会开始使用下一线型。将 LineStyleCyclingMethod
属性设置为 "withcolor"
会同时循环使用两者,设置为 "beforecolor"
会首先循环使用线型。默认的 LineStyleOrder
只有一个线型 "-"
。
要自定义线型序列,请创建一个字符向量元胞数组或字符串数组。将数组的每个元素指定为下列各表中的一个线条设定符或标记设定符。您可以在一个元素中组合使用线型和标记设定符,如 "-*"
。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
在绘图之前或之后更改线型序列
您可以在坐标区中绘图之前或之后更改线型序列。当 LineStyleOrder
属性设置为新值时,MATLAB 会更新坐标区中所有线条的线型。如果继续在坐标区中绘图,绘图命令会继续使用更新后的列表中的线型。
自 R2023a 起
当坐标区中有多条线时如何循环使用线型,指定为下表中的值之一。
下表中的示例是使用 ColorOrder
属性中的默认颜色和 LineStyleOrder
属性中的三种线型 (["-","-o","--"]
) 创建的。
值 | 描述 | 示例 |
---|---|---|
| 先循环使用 |
|
"beforecolor" | 先循环使用 |
|
"withcolor" | 循环使用 |
|
此 属性 为只读。
添加到坐标区的下一个绘图对象的 SeriesIndex
值,以大于或等于 0
的整数形式返回。当您要跟踪对象如何循环使用颜色和线型时,此属性非常有用。此属性维护坐标区中具有数值 SeriesIndex
属性值的对象的计数。MATLAB 使用它为每个新对象分配 SeriesIndex
值。计数在创建坐标区时从 1
开始,每增加一个对象,计数就会增加 1
。因此,该计数通常是 n+1,其中 n 是坐标区中对象的数量。
如果您手动更改 ColorOrderIndex
或坐标区上的 LineStyleOrderIndex
属性,NextSeriesIndex
属性的值将更改为 0
。因此,当您更改坐标区上的 ColorOrder
或 LineStyleOrder
属性时,具有 SeriesIndex
属性的对象不再自动更新。
在向坐标区中添加新绘图时要重置的属性,指定为下列值之一:
'add'
- 在现有坐标区上添加新绘图。在显示新绘图之前,不删除现有绘图或重置坐标区属性。'replacechildren'
- 在显示新绘图之前删除现有绘图。可将ColorOrderIndex
和LineStyleOrderIndex
属性重置为1
,但不要重置其他坐标区属性。添加到坐标区的下一个绘图基于ColorOrder
和LineStyle
序列属性使用第一个颜色和线型。此值类似于在每个新绘图之前使用cla
。'replace'
- 在显示新绘图之前,删除现有绘图并将除Position
和Units
之外的所有坐标区属性重置为默认值。'replaceall'
- 在显示新绘图之前,删除现有绘图并将除Position
和Units
之外的所有坐标区属性重置为默认值。此值类似于在每个新绘图之前使用cla reset
。
注意
对于只有一个 y 轴的 Axes
对象,'replace'
和 'replaceall'
属性值是等同的。对于具有两个 y 轴的 Axes
对象,'replace'
值只影响活动侧,而 'replaceall'
值会同时影响两侧。
渲染对象的顺序,指定为下列值之一:
'depth'
- 基于当前视图按从后到前的顺序绘制对象。使用此值可确保前方对象得到正确绘制渲染(相对于后方对象)。'childorder'
- 按图形函数创建对象的顺序绘制这些对象,而不考虑对象在三个维度中的关系。此值可产生更快的渲染速度,特别是在图窗非常大时,但同时可能导致显示对象的深度排序不恰当。
色序索引,指定为正整数。此属性指定当 MATLAB 创建下一个绘图对象(例如 Line
、Scatter
或 Bar
对象)时从坐标区 ColorOrder
属性中选择的下一个颜色。
注意
建议设置单个绘图对象的 SeriesIndex
属性,而不要设置坐标区的 ColorOrderIndex
属性。ColorOrderIndex
属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图颜色和线型。
线型序列索引,指定为正整数。此属性指定 MATLAB 在创建下一个绘图线条时从坐标区 LineStyleOrder
属性中选择的下一个线型。
注意
建议设置单个绘图对象的 SeriesIndex
属性,而不要设置坐标区的 LineStyleOrderIndex
属性。LineStyleOrderIndex
属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图颜色和线型。
颜色图和透明度图
颜色图,指定为由 RGB(红色、绿色、蓝色)三元组组成的 m
×3
数组,这些三元组定义 m
种单独的颜色。
示例: ax.Colormap = [1 0 1; 0 0 1; 1 1 0]
将颜色图设置为三种颜色:品红色、蓝色和黄色。
MATLAB 按行号访问这些颜色。
也可以使用 colormap
函数更改颜色图。
颜色图的刻度,指定为下列值之一:
'linear'
- 线性刻度。颜色栏上的刻度值也使用线性刻度。'log'
- 对数刻度。颜色栏上的刻度值也使用对数刻度。
坐标区中使用颜色图的对象的颜色范围,指定为 [cmin cmax]
形式的二元素向量。此属性用来确定数据值如何映射到颜色图中的颜色,其中:
cmin
指定映射到颜色图中的第一个颜色的数据值。cmax
指定映射到颜色图中的最后一个颜色的数据值。
Axes
对象根据颜色图中 cmin
和 cmax
所规定的范围进行数据值插值。此范围外的值使用第一个或最后一个颜色(取最接近的值)。
CLim
属性的选择模式,指定为下列值之一:
'auto'
- 根据坐标区包含的图形对象的颜色数据自动选择范围。'manual'
- 手动指定值。要指定值,请设置CLim
属性。当坐标区子级的范围改变时,这些值不会改变。
透明度图,指定为从 0
到 1
线性递增的有限 alpha 值组成的数组。数组大小可以是 m×1 或 1×m。MATLAB 按 alpha 值在数组中的索引访问来它们。Alphamap 可以为任意长度。
透明度图的刻度,指定为下列值之一:
'linear'
- 线性刻度'log'
- 对数刻度
alpha 范围,指定为 [amin amax]
形式的二元素向量。此属性影响图形对象(如曲面、图像和补片对象)的 AlphaData
值。此属性决定 AlphaData
值如何映射到图窗 alpha 映射,其中:
amin
指定映射到图窗 alpha 映射的第一个 alpha 值的数据值。amax
指定映射到图窗 alpha 映射的最后一个 alpha 值的数据值。
Axes
对象根据图窗的 alpha 映射中 amin
和 amax
所规定的范围进行数据值插值。此范围外的值使用第一个或最后一个 alpha 映射值(取最接近的值)。
ALim
属性的选择模式,指定为下列值之一:
'auto'
- 根据坐标区包含的图形对象的AlphaData
值自动选择范围。'manual'
- 手动指定 alpha 范围。要指定 alpha 范围,请设置ALim
属性。
框样式
背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
示例: ax.Color = [0 0 1];
示例: ax.Color = 'b';
示例: ax.Color = 'blue';
示例: ax.Color = '#0000FF';
坐标区轮廓、刻度线和网格线的线宽,指定为正数值(以磅为单位)。一磅等于 1/72 英寸。
示例: ax.LineWidth = 1.5
框轮廓,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
值 | 描述 | 二维结果 | 三维结果 |
---|---|---|---|
'on' | 显示坐标区周围的框轮廓。对于三维视图,可以使用 例如: | ||
'off' | 不显示坐标区周围的框轮廓。 例如: |
XColor
、YColor
和 ZColor
属性控制轮廓的颜色。
示例: ax.Box = 'on'
框轮廓样式,指定为 'back'
或 'full'
。此属性仅影响三维视图。
值 | 描述 | 结果 |
---|---|---|
'back' | 画出三维框的背板轮廓。 例如: | |
'full' | 画出整个三维框的轮廓。 例如: |
按照坐标区范围裁剪对象,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
Axes
对象内某个对象的裁剪行为由 Axes
对象的 Clipping
属性和该具体对象的 Clipping
属性共同决定。Axes
对象的属性值具有以下作用:
'on'
- 使坐标区内的每个对象基于其Clipping
属性值控制自身的裁剪行为。'off'
- 禁用坐标区内所有对象的裁剪,而不管各个对象的Clipping
属性值如何设置。对象的某些部分可能会显示在坐标区范围之外。例如,如果创建一个绘图,使用hold on
命令冻结轴缩放,然后添加一个大于原始绘图的绘图,则绘图的某些部分可能会显示在范围之外。
下表列出了 Clipping
属性值的不同组合结果。
坐标区对象的裁剪属性 | 单个对象的裁剪属性 | 结果 |
---|---|---|
'on' | 'on' | 裁剪单个对象。其他对象可能会被裁剪,也可能不会。 |
'on' | 'off' | 不裁剪单个对象。其他对象可能会被裁剪,也可能不会。 |
'off' | 'on' | 所有对象都不裁剪。 |
'off' | 'off' | 所有对象都不裁剪。 |
裁剪边界,指定为下表中的值之一。如果绘图包含标记,则只要数据点位于坐标区范围内,MATLAB 就会绘制整个标记。
如果 Clipping
属性设置为 'off'
,则 ClippingStyle
属性无效。
值 | 描述 | 边界区域图示 |
---|---|---|
'3dbox' | 按照坐标轴范围定义的坐标区框的六条边对绘制对象进行裁剪。 粗线可能会显示在坐标区范围之外。 |
|
'rectangle' | 在任何给定视图中按照包围坐标区的矩形边界对绘制对象进行裁剪。 在坐标区范围处裁剪粗线。 |
|
背景光颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。背景光是一种无向光,均匀地照射在坐标区内的所有对象上。要添加光源,请使用 light
函数。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
示例: ax.AmbientLightColor = [1 0 1]
示例: ax.AmbientLightColor = 'm'
示例: ax.AmbientLightColor = 'magenta'
示例: ax.AmbientLightColor = '#FF00FF'
位置
大小和位置,包括标签和边距,指定为 [left bottom width height]
形式的四元素向量。默认情况下,MATLAB 按照归一化的容器单位来测量值。要更改单位,请设置 Units
属性。[0 0 1 1]
的默认值包括容器的整个内部。
left
和bottom
元素定义从容器(通常为图窗、面板或选项卡)左下角到外部位置边界左下角之间的距离。width
和height
元素是外边界尺寸。
下图显示由 OuterPosition
值(蓝色)和 Position
值(红色)定义的区域。
二维坐标区视图 | 三维坐标区视图 |
---|---|
|
|
有关坐标区位置的详细信息,请参阅控制坐标区布局。
注意
当父容器为 TiledChartLayout
对象时,设置此属性不起作用。
内部大小和位置,指定为 [left bottom width height]
形式的四元素向量。此属性等同于 Position
属性。
注意
当查询具有约束纵横比的坐标区(如方形坐标区或包含图像的坐标区)的内部位置时,可考虑使用
tightPosition
函数以获得更高的准确度。(从 R2022b 开始)当父容器为
TiledChartLayout
时,设置此属性不起作用
大小和位置,不包括标签边距,指定为 [left bottom width height]
形式的四元素向量。默认情况下,MATLAB 按照归一化的容器单位来测量值。要更改单位,请设置 Units
属性。
left
和bottom
元素定义从容器(通常为图窗、面板或选项卡)左下角到位置边界左下角之间的距离。width
和height
元素是位置边界维度。对于三维视图中的坐标区,Position
属性是包围坐标区的最小矩形。
如果要指定位置并考虑让文本围绕坐标区,请改为设置 OuterPosition
属性。下图显示由 OuterPosition
值(蓝色)和 Position
值(红色)定义的区域。
二维坐标区视图 | 三维坐标区视图 |
---|---|
|
|
有关坐标区位置的详细信息,请参阅控制坐标区布局。
注意
当查询具有约束纵横比的坐标区(如方形坐标区或包含图像的坐标区)的位置时,可考虑使用
tightPosition
函数以获得更高的准确度。(从 R2022b 开始)当父容器为
TiledChartLayout
时,设置此属性不起作用
此 属性 为只读。
文本标签的边距,以 [left bottom right top]
形式的四元素向量返回。默认情况下,MATLAB 按照归一化的容器单位来测量值。要更改单位,请设置 Units
属性。
这些元素定义 Position
属性的边界与周围文本之间的距离。将 Position
值与 TightInset
值结合使用可定义包围坐标区和周围文本的最紧凑的边界框。
下面的图显示由 OuterPosition
值(蓝色)、Position
值(红色)以及由 TightInset
值(品红色)外扩的 Position
定义的区域。
二维坐标区视图 | 三维坐标区视图 |
---|---|
|
|
有关详细信息,请参阅控制坐标区布局。
在增加、删除或更改装饰元素时保持不变的位置属性,指定为下列值之一:
"outerposition"
- 在添加、删除或更改装饰元素(例如标题或轴标签)时,OuterPosition
属性保持不变。如需任何位置调整,MATLAB 会调整InnerPosition
属性。"innerposition"
- 在添加、删除或更改装饰元素(例如标题或轴标签)时,InnerPosition
属性保持不变。如需任何位置调整,MATLAB 会调整OuterPosition
属性。
注意
当父容器为 TiledChartLayout
对象时,设置此属性不起作用。
位置单位,指定为下列值之一:
Units | 描述 |
---|---|
"normalized" (默认值) | 根据容器进行归一化,容器通常是图窗或面板。容器的左下角映射到 (0,0) ,右上角映射到 (1,1) 。 |
"inches" | 英寸。 |
"centimeters" | 厘米。 |
"characters" | 基于图形根对象的默认 uicontrol 字体:
|
"points" | 字体磅数。一磅等于 1/72 英寸。 |
"pixels" | 像素。 在 Windows 和 Macintosh 系统上,像素的大小为 1/96 英寸。此大小与系统分辨率无关。 在 Linux 系统上,一个像素的大小由系统分辨率确定。 |
在对象创建过程中将单位指定为 Name,Value
对组时,您必须先设置 Units
属性,然后再指定要使用这些单位的属性(如 Position
)。
数据单位沿每个坐标轴的相对长度,指定为 [dx dy dz]
形式的三元素向量。此向量定义相对的 x、y 和 z 数据缩放因子。例如,若将该属性指定为 [1 2 1]
,会将 x 方向中的一个数据单位长度设置为等同于 y 方向中的两个数据单位长度和 z 方向中的一个数据单位长度。
也可以使用 daspect
函数更改数据纵横比。
示例: ax.DataAspectRatio = [1 1 1]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
数据纵横比模式,指定为下列值之一:
'auto'
- 自动选择能够充分利用可用空间的值。如果PlotBoxAspectRatioMode
和CameraViewAngleMode
也设置为'auto'
,将启用“伸展填充”行为。伸展坐标区,使其填满Position
属性定义的可用空间。'manual'
- 禁用“伸展填充”行为并使用手动指定的数据纵横比。要指定值,请设置DataAspectRatio
属性。
每个坐标轴的相对长度,指定为 [px py pz]
形式的三元素向量,三个元素分别定义 x 轴、y 轴和 z 轴的相对缩放因子。图框是包含坐标轴范围定义的轴数据区域的框。
也可以使用 pbaspect
函数更改图框纵横比。
如果您指定了坐标轴范围、数据纵横比和图框纵横比,MATLAB 将忽略图框纵横比,而遵守坐标轴范围和数据纵横比。
示例: ax.PlotBoxAspectRatio = [1 0.75 0.75]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
PlotBoxAspectRatio
属性的选择模式,指定为下列值之一:
'auto'
- 自动选择能够充分利用可用空间的值。如果DataAspectRatioMode
和CameraViewAngleMode
也设置为'auto'
,将启用“伸展填充”行为。伸展Axes
对象,使其填满Position
属性定义的可用空间。'manual'
- 禁用“伸展填充”行为并使用手动指定的图框纵横比。要指定值,请设置PlotBoxAspectRatio
属性。
布局选项,指定为 TiledChartLayoutOptions
或 GridLayoutOptions
对象。当坐标区对象位于分块图布局或网格布局中时,此属性非常有用。
要在分块图布局的网格中定位坐标区,请设置 TiledChartLayoutOptions
对象的 Tile
和 TileSpan
属性。例如,假设有一个 3×3 分块图布局。布局的中心有一个包含若干图块的网格,外边缘四周各有一个图块。实际上,该网格不可见,外侧图块也不占用空间,除非您用坐标区或图填充它们。
以下代码将坐标区 ax
放置在网格的第三个图块中。
ax.Layout.Tile = 3;
要使坐标区占据多个图块,请将 TileSpan
属性指定为二元素向量。例如,此坐标区占据了 2
行和 3
列的图块。
ax.Layout.TileSpan = [2 3];
要将坐标区放置在四周的某个图块中,请将 Tile
属性指定为 'north'
、'south'
、'east'
或 'west'
。例如,将值设置为 'east'
会将坐标区放置在网格右侧的图块中。
ax.Layout.Tile = 'east';
要将坐标区放入 App 内的布局中,请将此属性指定为 GridLayoutOptions
对象。有关在 App 中使用网格布局的详细信息,请参阅 uigridlayout
。
如果此坐标区不是分块图布局或网格布局的子级(例如,如果它是图窗或面板的子级),则此属性为空且不起作用。
视图
视图的方位角和仰角,指定为以度为单位定义的 [azimuth elevation]
形式的二元素向量。也可以使用 view
函数设置视图。
注意
设置方位角和仰角可能会重置其他与相机相关的属性。为了获得最佳效果,请在设置其他与相机相关的属性之前设置方位角和仰角。
示例: ax.View = [45 45]
二维屏幕上的投影类型,指定为下列值之一:
'orthographic'
- 保持图形对象的正确相对维度(就给定点到观察者之间的距离而言),并在屏幕上根据平行数据绘制平行线条。'perspective'
- 使用前缩透视法,这可以让您在三维对象的二维表示形式中表现景深。透视投影不会保留对象的相对维度。它改为显示较远的线段短于较近的等长线段。按数据平行的线条在屏幕上可能显示为不平行。
相机位置或视点,指定为 [x y z]
形式的三元素向量。此向量定义相机位置(即您观察坐标区的点)的坐标区坐标。相机沿视图轴指定方向,该轴是一条连接相机位置和相机目标的直线。有关说明,请参阅相机图形术语。
如果 Projection
属性设置为 'perspective'
,则当您更改 CameraPosition
设置时,透视量也会更改。
也可以使用 campos
函数设置相机位置。
示例: ax.CameraPosition = [0.5 0.5 9]
数据类型: single
| double
CameraTarget
属性的选择模式,指定为下列值之一:
'auto'
- 将相机目标置于轴图框矩心。'manual'
- 使用手动指定的相机目标值。要指定值,请设置CameraTarget
属性。
CameraUpVector
属性的选择模式,指定为下列值之一:
'auto'
- 对于三维视图,自动将值设置为[0 0 1]
,使 z 轴正方向朝上。对于二维视图,将值设置为[0 1 0]
,使 y 轴正方向朝上。'manual'
- 手动指定定义向上方向的向量。要指定值,请设置CameraUpVector
属性。
视野,指定为大于 0 且小于或等于 180 的标量角。更改相机视角会影响坐标区中显示的图形对象的大小,但不会影响透视变形度。角度越大,视野越大,而场景中显示的对象就越小。有关说明,请参阅相机图形术语。
示例: ax.CameraViewAngle = 15
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
CameraViewAngle
属性的选择模式,指定为下列值之一:
'auto'
- 自动选择能够捕获整个场景的最小角度作为视野(最高可达 180 度)。'manual'
- 手动指定视野。要指定值,请设置CameraViewAngle
属性。
交互性
自 R2025a 起
自定义交互行为的选项,指定为 CartesianAxesInteractionOptions
对象。使用 CartesianAxesInteractionOptions
对象的属性自定义与坐标区的交互行为。有关完整的属性列表,请参阅 CartesianAxesInteractionOptions Properties。
CartesianAxesInteractionOptions
对象设置的选项适用于相关联的坐标区上的以下交互:
由坐标区的 Interactions 属性指定的内置交互
使用坐标区工具栏启用的交互
示例: ax.InteractionOptions.LimitsDimensions = "x"
将所有平移和缩放交互约束为在 x 维度上进行。
数据探索工具栏,它是一个 AxesToolbar
对象。将鼠标悬停在坐标区上时,工具栏会显示在坐标区的右上角。
工具栏按钮取决于坐标区的内容,但通常包括缩放、平移、旋转、数据提示、数据刷亮和还原原始视图。您可以使用 axtoolbar
和 axtoolbarbtn
函数自定义工具栏按钮。
如果您不希望在将鼠标悬停在坐标区上时显示工具栏,请将 AxesToolbar
对象的 Visible
属性设置为 'off'
。
ax = gca;
ax.Toolbar.Visible = 'off';
有关详细信息,请参阅 AxesToolbar 属性。
交互,指定为由交互对象组成的数组或空数组。可以通过手势在图中使用您指定的交互。您不必选择任何坐标区工具栏按钮即可使用它们。例如,可以通过 panInteraction
对象在图中拖动以进行平移。有关交互对象的列表,请参阅对图的交互进行控制。
默认的交互集取决于您所显示的图的类型。您可以将默认集替换为新的交互集,但不能访问或修改默认集中的任何交互。例如,以下代码用 panInteraction
和 zoomInteraction
对象替换默认交互集。
ax = gca; ax.Interactions = [panInteraction zoomInteraction];
要从坐标区中删除所有交互,请将此属性设置为空数组。要暂时禁用当前交互集,请调用 disableDefaultInteractivity
函数。您可以通过调用 enableDefaultInteractivity
函数来重新启用它们。
可见性状态,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示坐标区及其子级。'off'
- 隐藏坐标区而不删除它。您仍然可以访问不可见坐标区对象的属性。
注意
当 Visible
属性为 'off'
时,坐标区对象不可见,但线条等子对象仍然可见。
此 属性 为只读。
鼠标指针的位置,以 2×3 数组形式返回。CurrentPoint
属性包含鼠标指针相对于坐标区的 (x,y,z) 坐标。返回的数组采用如下形式:
[xfront yfront zfront xback yback zback]
这两点指示最后一次鼠标点击的位置。但是,如果图窗定义了 WindowButtonMotionFcn
回调,则这些点指示鼠标指针最后所在的位置。图窗还有一个 CurrentPoint
属性。
由于坐标区立方体的形状可能有所不同,因此使用透视投影时当前点的值可能不同于正交投影中的同一点。
正交投影
使用正交投影时,值取决于点击的位置在坐标区内还是坐标区外。
如果点击位置在坐标区内,则这两个点位于与屏幕平面垂直并穿过指针的直线上。坐标表示这条直线与坐标区立方体(由轴 x、y 和 z 的范围定义)的前平面和后平面相交的点。第一行表示距离相机位置最近的点。第二行表示距相机位置最远的点。这适用于二维和三维视图。
如果点击位置在坐标区外但在图窗内,则点位于穿过指针并垂直于相机目标和相机位置平面的直线上。第一行是相机位置平面上的点。第二行是相机目标平面上的点。
透视投影
在透视投影中,在 Axes
对象外点击将返回前点作为当前相机位置。只有后点的坐标才会更新,即相机位置与鼠标指针连线的延长线与相机目标的交点的坐标。
上下文菜单,指定为 ContextMenu
对象。使用此属性在您右键点击对象时显示上下文菜单。使用 uicontextmenu
函数创建上下文菜单。
注意
如果 PickableParts
属性设置为 'none'
或者 HitTest
属性设置为 'off'
,该上下文菜单将不显示。
选择状态,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 已选择。如果您在绘图编辑模式下点击对象,则 MATLAB 会将其Selected
属性设置为'on'
。如果SelectionHighlight
属性也设置为'on'
,则 MATLAB 将在对象周围显示选择句柄。'off'
- 未选择。
选择时显示选择句柄,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 在Selected
属性设置为'on'
时显示选择句柄。'off'
- 永远不显示选择句柄,即使Selected
属性设置为'on'
也是如此。
回调
鼠标点击回调,指定为下列值之一:
函数句柄
元胞数组,包含一个函数句柄和其他参量
作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)
使用此属性在您点击对象时执行代码。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参量:
点击的对象 - 从回调函数中访问点击的对象的属性。
事件数据 - 空参量。在函数定义中将其替换为波浪号字符 (
~
) 以指示不使用此参量。
有关如何使用函数句柄定义回调函数的详细信息,请参阅Create Callbacks for Graphics Objects。
注意
如果 PickableParts
属性设置为 'none'
或者 HitTest
属性设置为 'off'
,则不执行此回调。
对象创建函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Create Callbacks for Graphics Objects。
此属性指定要在 MATLAB 创建对象时执行的回调函数。MATLAB 将在执行 CreateFcn
回调之前初始化所有属性值。如果不指定 CreateFcn
属性,则 MATLAB 执行默认的创建函数。
对现有组件设置 CreateFcn
属性没有任何作用。
如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参量访问正在创建的对象。否则,使用 gcbo
函数访问该对象。
对象删除函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Create Callbacks for Graphics Objects。
此属性指定在 MATLAB 删除对象时要执行的回调函数。MATLAB 在销毁对象的属性之前执行 DeleteFcn
回调。如果不指定 DeleteFcn
属性,则 MATLAB 执行默认的删除函数。
如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参量访问要删除的对象。否则,使用 gcbo
函数访问该对象。
回调执行控件
回调中断,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
此属性确定是否可以中断运行中回调。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
每次执行处理回调队列的命令时,MATLAB 都会确定回调中断行为。这些命令包括 drawnow
、figure
、uifigure
、getframe
、waitfor
和 pause
。
如果运行中回调不包含上述命令之一,则不会发生中断。MATLAB 首先完成执行运行中回调,然后执行中断回调。
如果运行中回调确实包含上述命令之一,则由运行中回调所属对象的 Interruptible
属性来确定是否发生中断:
如果
Interruptible
的值为'off'
,则不会发生中断。此时,由中断回调所属对象的BusyAction
属性确定中断回调是被丢弃还是添加到回调队列中。如果
Interruptible
的值为'on'
,则发生中断。下次 MATLAB 处理回调队列时,它会停止运行中回调的执行,并执行中断回调。在中断回调完成后,MATLAB 将继续执行运行中回调。
注意
回调的中断和执行在以下情况下会有不同的表现:
如果中断回调是
DeleteFcn
、CloseRequestFcn
或SizeChangedFcn
回调,则无论是否存在Interruptible
属性值都会发生中断。如果运行中回调当前正在执行
waitfor
函数,则无论是否存在Interruptible
属性值都会发生中断。如果中断回调由
Timer
对象所有,则回调将根据调度执行,而不考虑Interruptible
属性值。
回调排队,指定为 'queue'
或 'cancel'
。BusyAction
属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
BusyAction
属性仅在同时满足以下两个条件时才确定回调排队行为:
在这些情况下,由中断回调所属对象的 BusyAction
属性确定 MATLAB 如何处理中断回调。以下是 BusyAction
属性的可能值:
'queue'
- 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。'cancel'
- 不执行中断回调。
捕获鼠标点击的能力,指定为以下值之一:
'visible'
- 仅当对象可见时才捕获鼠标点击。Visible
属性必须设置为'on'
。HitTest
属性决定是Axes
对象响应点击还是前代响应点击。'all'
- 无论是否可见都捕获鼠标点击。Visible
属性可以设置为'on'
或'off'
。HitTest
属性决定是Axes
对象响应点击还是前代响应点击。'none'
- 无法捕获鼠标点击。点击Axes
对象会将点击操作传递给图窗窗口的当前视图中该对象下面的对象,通常是坐标区或图窗。HitTest
属性没有任何作用。
如果希望某个对象在其位于其他不需要点击的对象下方时可点击,请将其他对象的 PickableParts
属性设置为 'none'
以使点击穿过它们。
对捕获的鼠标点击的响应,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 触发Axes
对象的ButtonDownFcn
回调。如果您已定义ContextMenu
属性,则调用上下文菜单。'off'
- 触发满足以下条件之一的Axes
对象的最近前代的回调:HitTest
属性设置为'on'
。PickableParts
属性设置为允许前代捕获鼠标点击的值。
注意
PickableParts
属性决定 Axes
对象是否可以捕获鼠标点击。如果无法捕获,则 HitTest
属性没有任何作用。
此 属性 为只读。
删除状态,以 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值形式返回。
当 DeleteFcn
回调开始执行时,MATLAB 会将 BeingDeleted
属性设置为 'on'
。BeingDeleted
属性将一直保持 'on'
设置状态,直到组件对象不再存在为止。
在查询或修改对象之前,请先检查其 BeingDeleted
属性的值,以确认它不是待删除项。
父级/子级
父容器,指定为 Figure
、Panel
、Tab
、TiledChartLayout
或 GridLayout
对象。
子级,以图形对象数组形式返回。使用该属性可查看子级列表,或重新排列子级顺序(通过将该属性设置为自身的置换来完成)。
不能使用 Children
属性添加或删除子级。要向此列表中添加子级,请将子图形对象的 Parent
属性设置为 Axes
对象。
父级的 Children
属性中对象句柄的可见性,指定为下列值之一:
"on"
- 对象句柄始终可见。"off"
- 对象句柄始终不可见。该选项用于防止另一函数无意中对其进行更改。将HandleVisibility
设置为"off"
可在执行该函数时暂时隐藏句柄。"callback"
- 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。
如果父级的 Children
属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。此类函数的示例包括 get
、findobj
、gca
、gcf
、gco
、newplot
、cla
、clf
和 close
函数。
隐藏的对象句柄仍有效。将根 ShowHiddenHandles
属性设置为 "on"
以列出所有对象句柄,而不管其 HandleVisibility
属性设置如何。
标识符
此 属性 为只读。
图形对象的类型,以 'axes'
形式返回。
对象标识符,指定为字符向量或字符串标量。您可以指定唯一的 Tag
值作为对象的标识符。如果需要访问您代码中其他位置的对象,可以使用 findobj
函数基于 Tag
值搜索对象。
用户数据,指定为任何 MATLAB 数组。例如,您可以指定标量、向量、矩阵、元胞数组、字符数组、表或结构体。使用此属性存储对象上的任意数据。
如果您在 App 设计工具中工作,请在该 App 中创建公共或私有属性以共享数据,而不是使用 UserData
属性。有关详细信息,请参阅在用 App 设计工具创建的 App 内共享数据。
版本历史记录
在 R2006a 之前推出浅色主题中的默认 ColorOrder
、XColor
、YColor
和 ZColor
属性值略有更改。下表列出了这些更改。
属性 | R2024b 颜色 | R2025a 颜色 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
| ||||||||||||||||||||||||||||||||
XColor 、YColor 和 ZColor |
|
|
FontSmoothing
属性不起作用,将在以后的版本中删除。您可以设置或获取此属性的值而不发出警告,但无论属性值如何,所有文本都是平滑的。此属性删除已在 R2022a 中声明。
使用 LineStyleCyclingMethod
属性控制如何在坐标区中区分不同的线条。
通过设置坐标区的 GridLineWidth
和 MinorGridLineWidth
属性,独立于框轮廓和刻度线更改网格线的粗细。在 R2023a 之前,坐标区的 LineWidth
属性是控制网格线宽度的唯一属性。但是,该属性同时控制网格线、框轮廓和刻度线。现在,您可以单独控制网格线的粗细。
现在,您可以通过设置 XTickLabelRotationMode
、YTickLabelRotationMode
或 ZTickLabelRotationMode
属性来控制刻度标签旋转的选择模式。
通过将 TickDir
属性设置为 "none"
可删除坐标区上的所有刻度线。
通过在坐标区上设置 XLimitMethod
、YLimitMethod
或 ZLimitMethod
,控制绘图的坐标轴范围。
通过将坐标区的 TitleHorizontalAlignment
属性设置为 "left"
、"right"
或 "center"
,可以控制绘图标题的对齐方式。
通过设置 Subtitle
属性或调用 subtitle
函数向绘图添加副标题。要控制副标题的外观,请设置 SubtitleFontWeight
属性。
设置 Axes
对象的 PositionConstraint
属性,以便在添加或修改标题和轴标签等装饰元素时控制图框周围的空间。
不推荐设置或获取 ActivePositionProperty
。请改用 PositionConstraint
属性。
目前没有删除 ActivePositionProperty
的计划,但当您对坐标区调用 set
、get
或 properties
函数时,该属性不再列出。
要更新代码,请进行以下更改:
将
ActivePositionProperty
的所有实例替换为PositionConstraint
。将所有对
'position'
选项的引用替换为'innerposition'
选项。
不推荐设置或获取 UIContextMenu
属性。请改为使用 ContextMenu
属性,该属性接受相同类型的输入,其行为方式与 UIContextMenu
属性相同。
没有删除 UIContextMenu
属性的计划,但当您对 Axes
对象调用 set
、get
或 properties
函数时,该属性不再列出。
使用 Layout
属性在分块图布局中定位 Axes
对象。
如果在坐标区中绘图之后更改坐标区的 ColorOrder
或 LineStyleOrder
属性,绘图中的颜色和线型会立即更新。在 R2019a 和以前的版本中,新的颜色和线型仅影响后续绘图,而不影响现有绘图。
为保留原始行为,请在更改 ColorOrder
或 LineStyleOrder
属性之前将坐标区 ColorOrderIndex
或 LineStyleOrderIndex
属性设置为任意值(例如设置为当前值)。
您可以使用新的索引方案设置 ColorOrder
或 LineStyleOrder
属性,从而更改现有绘图的颜色和线型。MATLAB 将此索引方案应用于具有 ColorMode
、FaceColorMode
、MarkerFaceColorMode
或 CDataMode
的所有对象。因此,您的代码生成的绘图循环使用的颜色和线型可能与在以前的版本中不同。
在 R2019a 及更早版本中,MATLAB 使用不同的索引方案,该索引方案不允许更改现有绘图的颜色。
为保留绘图循环使用颜色和线型的方式,请在坐标区中绘图之前将坐标区 ColorOrderIndex
或 LineStyleOrderIndex
属性设置为任意值(例如设置为当前值)。
通过设置坐标区的 Interactions
属性,可以创建一组自定义的图交互。这些交互内置于坐标区中,无需选择坐标区工具栏中的任何按钮即可使用。根据坐标区的内容,某些类型的交互默认处于启用状态。
使用 Toolbar
属性将工具栏添加到坐标区的右上角,以便快速访问数据探索工具。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)