2012-07-10 3 views
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'); 

그러나 나는 다음과 같은 오류 얻을 : 현재 나는 다음과 같은 코드를 사용하고 내가 코드에 plot으로 bar를 교체 할 때 (지금은 그들을

??? Error using ==> getProxyValueFromHandle at 15 Input must be a valid handle.

Error in ==> plotedit at 91 [varargout{1:nargout}] = feval(args{:});

Error in ==> specgraph.barseries.preserialize at 10 peerVals = plotedit({'getProxyValueFromHandle',hPeers});

Error in ==> hgsaveStructDbl at 81 olddata{i} = {hh,preserialize(hh)};

Error in ==> hgsave at 63 hgS = hgsaveStructDbl(h, SaveAll);

Error in ==> saveasfig at 7 hgsave(h, name);

Error in ==> saveas at 126 feval(['saveas' format], h, name)

Error in ==> testbar at 11 saveas(hf2,'case2.fig','fig');

주석을 ^^), 그러면 그림을 성공적으로 저장할 수 있습니다.

사용중인 버전은 MATLAB R2010a입니다.

+0

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

를 사용해보십시오 당신이 정말로 새 먼저 그림을 복사해야합니까? 왜 그냥'saveas (hf1, 'case2.fig', 'fig');를 사용하지 않는가? 여기서 작동한다! –

+0

매우 이상합니다. 아마도 MathWorks와 함께 지원 티켓을 제출해야합니다. 또는 먼저 최신 버전으로 업그레이드하십시오. – bdecaf

+0

Mathworks 버그 보고서 [여기] (http://www.mathworks.com/support/bugreports/469597) – Doresoom

답변

1

이 코드 대신

b=bar(a1,1:9);