1. 問題描述
MATLAB基本的子圖繪制功能,可以在一個figure中繪制大小相等的多個子圖不狮。有時抹镊,我們需要繪制更為復(fù)雜的子圖樣式,如下:
這樣的問題可以稱之為子圖的分塊繪制荤傲,也就是每個子圖占用不同比例的空間垮耳。
2. 技術(shù)背景
采用MATLAB的subplot
命令。
3. 解決方案
MATLAB中子圖的排列順序如下遂黍,
要分塊繪制子圖终佛,只需指定預(yù)期占用的子圖空間。如問題描述中的圖像雾家,可以采用subplot(4,1,..)
的布局铃彰,其中下方的大圖可以占用2、3芯咧、4號子圖空間牙捉。
4. 實施示例
figure
subplot(3,3,[1:3])
plot(t,sin(t),'-o')
title('子圖 1 2 3')
subplot(3,3,[4 7])
plot(t,sin(t),'-*')
title('子圖 4 7')
subplot(3,3,[5 6 8 9])
plot(t,sin(t),'->')
title('子圖 5 6 8 9')
繪圖效果如:
5. 常見問題
暫無
6. 示例代碼
% 題目:MATLAB子圖分塊繪制示例
% 馬騁
clc,clear
close all
t = linspace(0,2*pi,100);
%% 子圖布局示例
figure
for iloop = 1:9
subplot(3,3,iloop)
plot(t,sin(t),'-')
title(['子圖-',num2str(iloop)])
end
tools.white;
%% 子圖分塊示例
figure
subplot(3,3,[1:3])
plot(t,sin(t),'-o')
title('子圖 1 2 3')
subplot(3,3,[4 7])
plot(t,sin(t),'-*')
title('子圖 4 7')
subplot(3,3,[5 6 8 9])
plot(t,sin(t),'->')
title('子圖 5 6 8 9')
本文用時 40 m