Matlab绘制子图subplot使用攻略
![](http://yyk.iask.sina.com.cn/pic/fimg/160992396712176971434.jpg)
我们在sci论文的写作过程中通常遇到多个子图画在同一张图上,这篇文档将通过多个程序算例详细介绍Matlab绘制子图subplot使用攻略
情况1:子象限中的子图
subplot的功能:子图将当前数字划分为按行编号的矩形窗格。 每个窗格都包含一个轴对象,您可以使用轴属性来操作它们。 随后的图被输出到当前窗格。h =subplot(m,n,p)m?代表行n?代表列p?代表的这个图形画在第几行、第几列。subplot的使用方法:h =subplot(m,n,p)将数字窗口分成m×n的网格,并在当前图的第p个位置创建一个轴对象,并返回轴句柄。坐标轴沿着图形窗口的第一行,然后是第二行等。例如 subplot(2,2,1)表示一个2行2列的画布上,你用第一行第一列画图。
例如:复制一下程序到matlab窗口figuret=0:0.001:1;y1=sin(10*t);y2=sin(15*t);y3=sin(20*t);y4=sin(25*t);subplot(2,2,1)plot(t,y1,'--r*''linewidth'2,'markersize'5)text(.5,5,{'subplot(2,2,1)'},'FontSize'14,'HorizontalAlignment''center')subplot(2,2,2)plot(t,y2,'--b*''linewidth'2,'markersize'5)text(.5,5,{'subplot(2,2,2)'},'FontSize'14,'HorizontalAlignment''center')subplot(2,2,3)plot(t,y2,'--b*''linewidth'2,'markersize'5)text(.5,5,{'subplot(2,2,3)'},'FontSize'14,'HorizontalAlignment''center')subplot(2,2,4)plot(t,y2,'--r*''linewidth'2,'markersize'5)text(.5,5,{'subplot(2,2,4)'},'FontSize'14,'HorizontalAlignment''center')程序编译结果如右图所示
情况2:不对称的子图
以下组合产生子图的不对称排列。如右图所示subplot(2,2,[1 3])text(.5,5,'subplot(2,2,[1 3])''FontSize'14,'HorizontalAlignment''center')subplot(2,2,2)text(.5,5,'subplot(2,2,2)''FontSize'14,'HorizontalAlignment''center')subplot(2,2,4)text(.5,5,'subplot(2,2,4)''FontSize'14,'HorizontalAlignment''center')程序编译结果如右图所示
例如:复制一下程序到matlab窗口figuret=0:0.001:1;y1=sin(10*t);y2=sin(15*t);y3=sin(20*t);y4=sin(25*t);subplot(2,2,[1 3])plot(t,y1,'--r*''linewidth'2,'markersize'5)subplot(2,2,2)plot(t,y2,'--b*''linewidth'2,'markersize'5)subplot(2,2,4)plot(t,y2,'--r*''linewidth'2,'markersize'5)程序编译结果如右图所示
以下组合产生子图的不对称排列。如右图所示subplot(2,2,1:2)text(.5,5,'subplot(2,2,1:2)''FontSize'14,'HorizontalAlignment''center')subplot(2,2,3)text(.5,5,'subplot(2,2,3)''FontSize'14,'HorizontalAlignment''center')subplot(2,2,4)text(.5,5,'subplot(2,2,4)''FontSize'14,'HorizontalAlignment''center')程序编译结果如右图所示
例如:复制一下程序到matlab窗口figuret=0:0.001:1;y1=sin(10*t);y2=sin(15*t);y3=sin(20*t);y4=sin(25*t);subplot(2,2,[1 2])plot(t,y1,'--r*''linewidth'2,'markersize'5)subplot(2,2,3)plot(t,y2,'--b*''linewidth'2,'markersize'5)subplot(2,2,4)plot(t,y2,'--r*''linewidth'2,'markersize'5)程序编译结果如右图所示
![](http://yyk.iask.sina.com.cn/pic/fimg/160992396712176971434.jpg)