我想将我在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');
但后来我收到以下错误:
???使用==>时出错getProxyValueFromHandle at 15 输入必须是有效的句柄。
==>中的错误plotedit在91 [varargout {1:nargout}] = feval(args {:});
==>中的错误specgraph.barseries.preserialize at 10 peerVals = plotedit({'getProxyValueFromHandle',hPeers});
==>中的错误hgsaveStructDbl在81 olddata {i} = {hh,preserialize(hh)};
==>中的错误hgsave在63岁 hgS = hgsaveStructDbl(h,SaveAll);
==>中的错误saveasfig at 7 hgsave(h,name);
==>中的错误保存在126 feval(['saveas'格式],h,名称)
==>中的错误测试栏11点 另存为(HF2, 'case2.fig', '无花果');
但是当我在代码中用bar
替换plot
时(我现在将它们注释掉^^),那么我可以成功保存图形。
我使用的版本是MATLAB R2010a。
答案 0 :(得分:1)
尝试使用此代码
b=bar(a1,1:9,'hist');
而不是
b=bar(a1,1:9);