在MATLAB中创建直角坐标轴
默认情况下,在MATLAB中,当一个图形被创建为一个图形组件时,会将车轴添加到该图形中,但是,MATLAB提供了一个函数来完成这项特殊的工作,即axes()函数。这个函数可以在图形中创建笛卡尔轴。在一个图形组件中需要多个笛卡尔平面的情况下,它非常有用。让我们通过实例来探索这个函数。
语法:
axes (parent, name, values)
- parent – 指定要创建轴的图或类对象。
- name–给该组特定的车轴一个特定的名称。
- values – 包含定义轴的行为值
让我们在一个图形中创建默认的软轴集。简单地调用坐标轴而不需要任何参数就可以创建一个默认的软轴平面。
示例 1:
% MATLAB code for creating
% Cartesian Axes
axes
输出:
在单个图形中创建多个轴涉及到图形中第二个笛卡尔轴的定位,这可以通过’Position’参数完成。然后,坐标轴函数的语法将改变为
axes_1 = axes (‘Position’, [<horizontal position of left bottom> <vertical position of left bottom> <height of axes> <width of axes>])
axes_2 = axes (‘Position’, [<horizontal position of left bottom> <vertical position of left bottom> <height of axes> <width of axes>])
现在,让我们看一个例子来理解这一点。
示例 2:
% MATLAB code for
% axes 1
axes1 = axes('Position',[0.1 0.1 0.6 0.6])
% axes 2
axes2 = axes('Position',[0.63 0.63 0.23 0.23])
输出:
这里,轴一的左底角在[0.1 0.1],其高度和宽度为[0.6 0.6]。同样地,轴二的左底角在[0.63 0.63],其高度和宽度为[0.23 0.23]。
从上图中可以看出,很难确定这两张图的边界。为了解决这个问题,我们可以在每个轴周围添加方框,如下所示。
示例 3:
% MATLAB code for add boxes around each axis
% axes 1
axes1 = axes('Position',[0.1 0.1 0.6 0.6],'Box','on');
% axes 2
axes2 = axes('Position',[0.63 0.63 0.23 0.23],'Box','on');
输出:
现在我们已经看到了创建软轴的不同方法,让我们绘制一些假图来看看它是如何工作的。在这样做的时候,你只需要指定轴的名称作为任何绘图函数的第一个参数。
示例 4:
% MATLAB code for
% Defining 2 axes
axes1 = axes('Position',[0.1 0.1 0.45 0.45],'Box','on');
axes2 = axes('Position',[0.49 0.49 0.5 0.5],'Box','on');
% Plotting in axes 1
surf(axes1,peaks(23))
% Plotting in axes 2
contour3(axes2,peaks(23))
输出: