在子图中保存条形图

时间:2012-07-10 04:29:59

标签: matlab save-as subplot

我想将我在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。

1 个答案:

答案 0 :(得分:1)

尝试使用此代码

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

而不是

b=bar(a1,1:9);