返回信息流具体情况如下:
在Matlab/work/model1 工作区内生成了一个图像文件 a.fig,
在Matlab/work/model2 工作区内生成了一个图像文件 b.fig,
现在我把两个图像文件都拷贝到Matlab/work/pic工作区内,并想把这两个图像文件,合成为一个图像文件c.fig,应该怎么办呢?
我查到的方法如下, 但需要先得到.fig文件的句柄。
但a.fig 和b.fig的句柄怎么拿到呢?因为是在不同工作区内得到的图像…
------------------------------------------------------------------------------------------
way1:
function NewFigMerge
close all;
clc
for i=1:5
x=linspace(0,2*pi);
y=sin(i*x);
plot(x,y);
str=['h',num2str(i),'.fig'];
hgsave(str)
close(gcf)
end
h1=[];
for i=1:5
str=['h',num2str(i),'.fig'];
h(i)=hgload(str,struct('visible','off'));
h1=[h1,get(get(h(i),'children'),'children')];
end
hFig=figure;
hAxes=axes;
newh=copyobj(h1,hAxes);
----------------------------------------------------------------------------------------
way2:
clc;clear;close all;
figure(1);x=[0:0.1:5];y=sin(x);plot(x,y);set(gcf,'name','f1');
figure(2);x=[0:0.1:5];y=10*sin(x);plot(x,y);set(gcf,'name','f2');
figure(3);x=[0:0.1:5];y=5*sin(x);plot(x,y);set(gcf,'name','f3');
%绘制图1、2、3,为了查找句柄设置图的名字为f1、f2、f3;
h1=findobj('name','f1');
h11=get(get(h1,'children'),'children');
h2=findobj('name','f2');
h22=get(get(h2,'children'),'children');
h3=findobj('name','f3');
h33=get(get(h3,'children'),'children');%查找三张图的轴的子句柄
figure;axes;建立新图!
newhandle=copyobj([h11,h22,h33],gca);
这是一条镜像帖。来源:北邮人论坛 / matlab / #6325同步于 2009/10/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
[求教]两个.fig文件的合并
song1525
2009/10/26镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复