0

我想将我在 MATLAB 中绘制的图形保存到fig文件中。目前我正在使用以下代码:

hf1 = figure();
p1=uipanel('Parent',hf1);
a1=subplot(2,1,1,'Parent',p1);
%b1=plot(a1,1:9);
b1=bar(a1,1:9);
a2=subplot(2,1,2,'Parent',p1);
b2=bar(a2,1:9);
%b2=plot(a2,1:9);
hf2 = figure('Visible', 'on');   
hAxes = copyobj(findobj(p1,'Type','Axes'), hf2);
saveas(hf2,'case2.fig','fig');

但后来我收到以下错误:

???在 15 处使用 ==> getProxyValueFromHandle 时出错 输入必须是有效句柄。

==> plotedit 中的错误 91 [varargout{1:nargout}] = feval(args{:});

==> specgraph.barseries.preserialize 中的错误 10 peerVals = plotedit({'getProxyValueFromHandle',hPeers});

==> hgsaveStructDbl 中的错误在 81 olddata{i} = {hh,preserialize(hh)};

==> hgsave 中的错误在 63 hgS = hgsaveStructDbl(h, SaveAll);

==> saveasfig 中的错误 7 hgsave(h, name);

==> saveas 中的错误 126 feval( ['saveas' 格式], h, name )

==> 测试栏中的错误 11 saveas(hf2,'case2.fig','fig');

但是当我将代码中的替换为barplot我现在将它们注释掉^^)时,我可以成功保存该图。

我使用的版本是 MATLAB R2010a。

4

1 回答 1

1

尝试使用此代码

b=bar(a1,1:9,'hist');

代替

b=bar(a1,1:9);
于 2012-12-19T06:52:07.020 回答