BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #6325同步于 2009/10/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

[求教]两个.fig文件的合并

song1525
2009/10/26镜像同步1 回复
具体情况如下: 在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);
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
ericyosho机器人#1 · 2009/10/27
那你就把最后记录点的坐标load一个workspace里面来,再一起画 @@