**基本用法:**axes 在当前图窗中创建默认的笛卡尔坐标区,并将其设置为当前坐标区。

应用场景1:在图窗中放置两个 Axes 对象,并为每个对象添加一个绘图。
要求1:指定第一个 Axes 对象的位置,使其左下角位于点 (0.1 0.1) 处,宽度和高度均为 0.7。指定第二个 Axes 对象的位置,使其左下角位于点 (0.65 0.65) 处,宽度和高度均为 0.28。默认情况下,所有值为基于图窗的归一化值。将这两个 Axes 对象返回为 ax1 和 ax2。

figure
ax1 = axes('Position',[0.1 0.1 0.7 0.7]);
ax2 = axes('Position',[0.65 0.65 0.28 0.28]);

要求2:在每个 Axes 对象上添加一个绘图。通过将坐标区作为第一个输入参数传递给图形函数来指定坐标区。【大多数图形函数会重置某些坐标区属性,如刻度值和标签。但是,它们不会重置坐标区的位置。】

contour(ax1,peaks(20))
surf(ax2,peaks(20))

运行结果:【无标题】Matlab 之axes函数——创建笛卡尔坐标区-LMLPHP
应用场景2:将坐标区设置为当前坐标区。创建两个重叠的 Axes 对象。然后指定当前坐标区并添加一个绘图。
要求1:首先创建两个 Axes 对象并指定它们的位置。在每个坐标区周围显示框轮廓。将这两个 Axes 对象返回为 ax1 和 ax2。

figure
ax1 = axes('Position',[0.1 0.1 .6 .6],'Box','on');
ax2 = axes('Position',[.35 .35 .6 .6],'Box','on');

要求2:将 ax1 设置为当前坐标区。此操作将使该坐标区显示在最前面,并使其成为后续图形函数的目标。在坐标区上添加一个线图。

axes(ax1)
x = linspace(0,10);
y = sin(x);
plot(x,y)

运行结果:
【无标题】Matlab 之axes函数——创建笛卡尔坐标区-LMLPHP
总结:函数axes(Name,Value) 使用一个或多个名称-值对组参数修改坐标区的外观,或控制数据的显示方式。例如,‘FontSize’,14 可设置坐标区文本的字体大小。

应用场景3:在选项卡上创建坐标区。
要求:创建包含两个选项卡的图窗。通过为每个选项卡指定父容器,将坐标区添加到每个选项卡上。在第一个选项卡中绘制一条直线,在第二个选项卡中绘制一个曲面。

figure
tab1 = uitab('Title','Tab1');
ax1 = axes(tab1);
plot(ax1,1:10)

tab2 = uitab('Title','Tab2');
ax2 = axes(tab2);
surf(ax2,peaks)

运行结果:【无标题】Matlab 之axes函数——创建笛卡尔坐标区-LMLPHP
总结:axes(parent,Name,Value) 在由 parent 指定的图窗、面板或选项卡中创建坐标区,而不是在当前图窗中创建。其中,parent的对象有四个,分别是Figure, Panel, Tab, TiledChartLayout 或 GridLayout对象。

02-17 22:13