使用axes函數在matlab繪圖中實現圖中圖的繪制
有時為了對細節進行詳細說明,需要在一個較大坐標軸上繪制一個小圖來對局部進行放大以闡述結果。
這可以通過調用axes函數實現。
下面通過繪制 y=1/(t-3) 的曲線舉例說明該函數的使用方法。
程序如下:
clc;clear;close all;
t=linspace(0,6,300);% 生成曲線的整體離散坐標值t
t1=linspace(2.8,3.2,300); % 生成曲線的局部離散坐標值t1
y=sin(1./[t-3]);% 生成曲線的整體離散函數值y
y1=sin(1./[t1-3]); % 生成曲線的局部離散函數值y1
figure;% 生成新的圖形窗口
plot(t,y);axis('equal'); % 繪制整體曲線圖
axes('Position',[0.18,0.62,0.28,0.25]); % 生成子圖
plot(t1,y1); % 繪制局部曲線圖
xlim([min(t1),max(t1)]); % 設置坐標軸范圍

axes函數后的參數說明,以橫縱坐標量程為基准:
例中0.18為子圖左下角的歸一化橫坐標位置:
(該位置的橫坐標-橫坐標起始值)/橫坐標量程=0.18,
同理,0.62為子圖左下角的歸一化縱坐標位置:
(該位置的縱坐標-縱坐標起始值)/縱坐標量程=0.62,
0.28為子圖的歸一化寬度,0.25為子圖的歸一化高度,具體計算過程同上