我们在sci论文的写作过程中通常遇到多个子图画在同一张图上,这篇文档将通过多个程序算例详细介绍Matlab绘制子图subplot使用攻略
工具/原料
matlab
情况1:子象限中的子图
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列的画布上,你用第一行第一列画图。
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:不对称的子图
1、以下组合产生子图的不对称排列。如右图所示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')程序编译结果如右图所示
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 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)程序编译结果如右图所示
3、以下组合产生子图的不对称排列。如右图所示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')程序编译结果如右图所示
4、例如:复制一下程序到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)程序编译结果如右图所示