Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

uiaxes

为 App 中的绘图创建 UI 坐标区

说明

示例

ax = uiaxes 在新图窗窗口中创建一个 UI 坐标区,并返回 UIAxes 对象。MATLAB® 调用 uifigure 函数来创建该图窗。

UIAxes 对象对于在 App 中创建笛卡尔绘图很有用。它们与 axes 函数返回的笛卡尔 Axes 对象非常类似。因此,您可以将 UIAxes 对象传递给大多数接受 Axes 对象的函数。有关详细信息,请参阅UIAxes 和 Axes 对象之间的差异

示例

ax = uiaxes(Name,Value) 使用一个或多个 Name,Value 对组参量指定 UIAxes 属性值。

示例

ax = uiaxes(parent) 在指定的父容器中创建 UI 坐标区。父容器可以是使用 uifigure 函数创建的 Figure 或其子容器之一。

ax = uiaxes(parent,Name,Value) 使用一个或多个 Name,Value 参量指定 UIAxes 属性值。

示例

全部折叠

在 UI 坐标区上创建一个线图和一个散点图。

创建一个包含 UI 坐标区的图窗窗口,并将 UIAxes 对象赋给变量 ax。通过指定 UIAxes 对象作为 plot 函数的第一个输入参量,在坐标区上添加一个线图。

fig = uifigure;
ax = uiaxes(fig);
x = linspace(-pi,pi,50);
y = 5*sin(x);
plot(ax,x,y)

将保留状态设置为 on,然后添加一个散点图。指定 UIAxes 对象作为 holdscatter 函数的第一个输入参量。

hold(ax,'on')
y2 = 5*sin(x) + randn(1,50);
scatter(ax,x,y2)

通过使用名称-值对组参量设置属性,修改 UI 坐标区的外观。例如,使用 XDir 名称-值对组反转 x 轴方向。

fig = uifigure;
ax = uiaxes(fig,'XDir','reverse');
x = linspace(-pi,pi);
y = sin(x);
plot(ax,x,y)

或者,创建坐标区之后使用圆点表示法指定属性。例如,使用圆点表示法访问 YDir 属性,反转 y 轴方向。

ax.YDir = 'reverse';

通过设置 Position 属性,指定 UI 坐标区的位置。以像素为单位指定位置。

fig = uifigure;
ax = uiaxes(fig,'Position',[10 10 550 400]);

在图窗窗口中的面板上添加 UI 坐标区。以像素为单位指定面板和坐标区的位置。

fig = uifigure;
p = uipanel(fig,'Position',[10 10 400 400]);
ax = uiaxes(p,'Position',[10 10 390 390]);

输入参数

全部折叠

父容器,指定为 FigurePanelTabGridLayoutTiledChartLayout 对象。如果未指定容器,MATLAB 将调用 uifigure 函数以创建一个新 Figure 对象来充当父容器。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'Xscale','linear','YScale','log'

此处所列的属性只是一部分。有关完整列表,请参阅 UIAxes 属性

最小和最大范围,指定为 [min max] 形式的二元素向量,其中 max 大于 min。您可以将范围指定为数字、分类、日期时间或持续时间值。但您指定的值类型必须与坐标轴上的值类型匹配。

您可以指定这两个范围,也可以指定一个范围而让 MATLAB 自动计算另一个范围。对于自动计算的最小或最大范围,请分别使用 -infinf。MATLAB 使用 'tight' 范围方法计算对应的范围。

示例: ax.XLim = [0 10]

示例: ax.YLim = [-inf 10]

示例: ax.ZLim = [0 inf]

也可以使用 xlimylimzlim 函数设置这些范围。有关示例,请参阅指定坐标轴范围

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration

坐标轴刻度,指定为下列值之一。

描述结果
'linear'

线性刻度

例如:ax.XScale = 'linear'

Axis with the scale set to 'linear'. The tick values that start at 0 and increment by adding 100 to the previous value.
'log'

对数刻度

例如:ax.XScale = 'log'

注意

坐标区在某些情况下可能会排除坐标:

  • 如果坐标包括正值和负值,则仅显示正值。

  • 如果坐标均为负值,所有值都带适当的符号显示在对数刻度上。

  • 不显示零值。

Axis with the scale set to 'log'. The tick values start at 0.10 (10 raised to -1). Each major tick value increases by a factor of 10.

网格线的线型,指定为下表中的线型之一。

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

"none"无线条无线条

要显示网格线,请使用 grid on 命令或将 XGridYGridZGrid 属性设置为 'on'

示例: ax.GridLineStyle = '--'

坐标区的尺寸和位置,包括标签和边距,指定为 [left bottom width height] 形式的四元素向量。此属性等同于 OuterPosition 属性。该向量定义坐标区外边界围成的矩形范围。这些值以 Units 属性指定的单位测量,默认为像素。

  • leftbottom 元素定义矩形的位置,从父容器的左下角开始测量。

  • widthheight 定义矩形的大小。

如果要指定位置并考虑让文本围绕坐标区,则设置 PositionOuterPosition 属性。下图显示由蓝色 Position(或 OuterPosition)和红色 InnerPosition 定义的区域。

二维坐标区视图三维坐标区视图

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

输出参量

全部折叠

UIAxes 对象。创建 UIAxes 后,可以使用 ax 设置其属性。

详细信息

全部折叠

UIAxesAxes 对象之间的差异

下表说明 UIAxesAxes 对象的属性之间的差异。有关在 App 中创建图的详细信息,请参阅在 App 设计工具中显示图形

属性UIAxes 对象Axes 对象
NextPlot

默认值为 'replacechildren'

默认值为 'replace'

Position

默认 Position 是以像素为单位的 [10 10 400 300]

Position 属性等同于 OuterPosition 属性。

默认 Position 是以归一化单位表示的 [0.1300 0.1100 0.7750 0.8150]

Position 属性等同于 InnerPosition 属性。

Units

默认值为 'pixels'

默认值为 'normalized'

FontUnits

默认值为 'pixels'

默认值为 'points'

版本历史记录

在 R2016a 中推出