在Matlab中绘制嵌套图形
2017-03-12 11:11
232 查看
很多时候我们需要在一副图形中显示多条曲线随参数的变化情况,但往往由于某些曲线太过贴近而无法观察它们之间的细微差异,或者由于某些曲线过于分离使得所绘制的图形显得并不紧凑,这两点原因是比较常见的,但不同的应用场景可能有不同的绘制嵌套图的原因,因此,根据具体的应用,我们常常需要在一个图形中再次嵌套另外一个图形,以便凸显不同曲线间的细微差异或者使得最终的图形显得紧凑而美观,或者是达到某一具体应用的目的。下面将通过一个示例来演示如何在Matlab中实现大图中嵌套小图,为表述形象起见,在这里我们暂且称大图为“母图”,而内嵌的小图为“子图”,同时,在下面的每一步中,我将先呈现效果图,再阐释如何绘制,带领大家一步步学习其中的原理。
第1步:根据部分实验数据绘制“母图”(先上效果图,再阐释如何绘制)
“母图””的绘制方法很简单,如果你已经有了相关的数据,那么直接调用下面的语句即可:
上述代码省略了很多细节,如坐标轴的文本以及图形标注的设置代码,但这不是要讲解的重点,若对绘制图形的一些细节不清楚,可以查阅Matlab绘图相关指导手册,在这里我们仅关注如何在“母图”内绘制“子图”。
第2步:在“母图”的基础上绘制“子图”(先上效果图,再阐释如何绘制)
在这一步中,我们已经将“子图”(橙色箭头指向处)绘制在了“母图”之内,下面是具体的绘制代码,其中关键代码我将用红色格外标注并给予说明。
上述代码段,关键之处在于红色标注代码行,它是在“母图”中绘制“子图”关键而且是唯一不同于第1步中“母图”绘制的一行代码。核心是axes函数,axes('position',[left, bottom, width, height])意思是在当前绘图窗口(“母图”所在窗口)的左下角位置建立一个坐标,其中,Left表示坐标距离当前绘图窗口(“母图”所在窗口)左端的距离,bottom表示坐标距离当前绘图窗口(“母图”所在窗口)下边界的距离,width和height分别指定了坐标相对于当前绘图窗口(“母图”所在窗口)左下角位置的宽度和高度,四个参数的取值均位于[0
,1]之间。代码其它部分与母图的绘制相似,在此不再赘述。
第1步:根据部分实验数据绘制“母图”(先上效果图,再阐释如何绘制)
“母图””的绘制方法很简单,如果你已经有了相关的数据,那么直接调用下面的语句即可:
% 绘制“母图” plot(x,y,'ro-','Linewidth',2,'MarkerSize',8); hold on; plot(x,y,'bo-','Linewidth',2,'MarkerSize',8); hold on;
上述代码省略了很多细节,如坐标轴的文本以及图形标注的设置代码,但这不是要讲解的重点,若对绘制图形的一些细节不清楚,可以查阅Matlab绘图相关指导手册,在这里我们仅关注如何在“母图”内绘制“子图”。
第2步:在“母图”的基础上绘制“子图”(先上效果图,再阐释如何绘制)
在这一步中,我们已经将“子图”(橙色箭头指向处)绘制在了“母图”之内,下面是具体的绘制代码,其中关键代码我将用红色格外标注并给予说明。
% 在“母图”内绘制“子图”
axes('position',[0.25,0.65,0.4,0.2]); set(gca,'XTick',x); xlabel('Loop number','fontsize',10,'fontname','Times New Roman'); ylabel('Size of Universe','fontsize',10,'fontname','Times New Roman'); hold on; plot(x,mr3,'r*-',x,mr4,'b*-','MarkerSize',6,'Linewidth',2);
上述代码段,关键之处在于红色标注代码行,它是在“母图”中绘制“子图”关键而且是唯一不同于第1步中“母图”绘制的一行代码。核心是axes函数,axes('position',[left, bottom, width, height])意思是在当前绘图窗口(“母图”所在窗口)的左下角位置建立一个坐标,其中,Left表示坐标距离当前绘图窗口(“母图”所在窗口)左端的距离,bottom表示坐标距离当前绘图窗口(“母图”所在窗口)下边界的距离,width和height分别指定了坐标相对于当前绘图窗口(“母图”所在窗口)左下角位置的宽度和高度,四个参数的取值均位于[0
,1]之间。代码其它部分与母图的绘制相似,在此不再赘述。
相关文章推荐
- Matlab图形绘制经典案例 (2)
- Matlab绘制三维图形以及提示框
- Matlab一个窗口中绘制多个图形
- matlab 实现分形图形-科赫曲线绘制
- Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
- 利用matlab如何在图形中绘制箭头
- matlab画图入门篇--各种基本图形绘制的函数与实例【转载】
- MATLAB绘制双Y轴图形
- matlab入门1--利用plot函数绘制正弦函数图形
- Matlab绘制三维线性图形
- Matlab图形绘制
- Matlab中绘制度长方体3D图形
- 调试经验——使用Matlab绘制f(x)=sin(1/x)的函数图形
- matlab 图形绘制 plot
- matlab中三维图形绘制函数
- 利用matlab在图形中绘制箭头
- matlab学习笔记之五种常见的图形绘制功能
- matlab入门教程五 ----- 绘制空间图形
- 经典图形的绘制(matlab)
- matlab绘制二维图形