• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB画图之多个图以子图的形式合为一个图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

解决问题:已经画好了多个figure,在不重复添加画图程序时,将多个图合为一个图。

      通常我们会将各个图单独画出来看效果,但是写文章过程中,经常为了排版等问题,需要将几个图分别以子图的形式合为一个图,这时候使用subplot,然后将各个图重新在子图中画出,但是这种方法,我们需要将这些的画图程序重新写一遍或者复制一遍,在这里我们使用一个创建子对象的方法实现,不需要再添加画图程序。

      MATLAB中的图像,实际上是一个对象集合,打开任意图像,输入gcf就显示当前图像的对象组成:

 

其中与图像内容相关的子对象为:Children和CurrentAxes。

每个坐标轴对象(CurrentAxis)又有自己的子对象:

 

 解决方法:

如果将两个图做为子图重绘到新的figure,即需要将其中的坐标轴对象导出,复制到新的figure的子图中。

程序如下:

clear;
clc;
close all;
t = 0:0.001:10;
y1 = sin(t);
y2 = cos(t);
 
figure(1);
plot(t,y1);
 
figure(2);
plot(t,y2);
 
fig(1) = get(figure(1), \'CurrentAxes\');                                            
fig(2) = get(figure(2), \'CurrentAxes\');
figure(3);
subplot(2,1,1);
axChildren = get(fig(1),\'Children\');
copyobj(axChildren, gca);
subplot(2,1,2);
axChildren = get(fig(2),\'Children\');
copyobj(axChildren, gca);

程序运行结果:

figure 1:

 

figure 2:

 

 figure 3:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab使用subplot合并子图发布时间:2022-07-18
下一篇:
MATLAB,Figure图两个Legend方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap