2013-08-16 2 views
0

정확하게 내 제목이 말하는대로해야합니다. 서브 그래프가있는 그림이 있습니다 (예 : 3 x 5). 서브 그래프 안의 모든 다른 그래프를 가져 와서 각각의 프레임을 프레임 (이 경우 15 개의 다른 프레임)으로 만들고 싶습니다. 나는 다른 해결책을 시도했지만 아무 일도하지 않았다.각 subplot이 프레임 인 subplot의 동영상을 만드는 방법은 무엇입니까?

writerObj = VideoWriter('try.avi'); 
writerObj.FrameRate = 1; 
open(writerObj); 
h= figure(1); 

for x=1:15 
    hh=subplot(3,5, x); 
    frame=getframe(hh); 
    writeVideo(writerObj,frame); 
end 
close(writerObj); 

을 아니면 내가

writerObj = VideoWriter('try.avi'); 
writerObj.FrameRate = 1; 
open(writerObj); 
h= figure(1); 
fig=gcf; 
axesHandles = get(gcf,'children'); 
for x=1:15 
    hh=subplot(3,5, x); 
    frame=getframe(axesHandles(x)); 
    writeVideo(writerObj,frame); 
end 
close(writerObj); 
+0

나는 각 프레임을 벡터라고 불리는 프레임에 저장하고 영화 (프레임)의 모든 것을 재생하면서 코드를 약간 조정하려고합니다. 이런 종류의 일이지만, 완벽하지는 않습니다. 이전의 방식으로는 효과가 없었던 이유를 제게 알려줍니다. 다른 하위 그림의 크기가 다른 것 같습니다. 나는 왜 그런지 이해하지 못합니다. 아무도 단서가 있습니까? – Vaaal88

+0

왜이 * 작동하지 않았는지 알려주십시오. 문제 또는 오류는 무엇입니까? 프레임/축의 크기가 같지 않아서입니까? – horchler

+0

미안하지만, 나는 그렇게 말했어 야했다. 예, 이것은 matlab에보고 된 문제입니다. 그러나 축은 같은 크기 여야합니다. 이제는 문제가 축에주는 값이 두 배가 될 수 있다고 생각하고 있습니다. 그래서 아마 matlab은 각 서브 플로트의 축을 이상한 방식으로 수정하여 항상 동일하지는 않을 수 있습니다. – Vaaal88

답변

0

나는 문제가 그들이 처음 만들 때 'auto'로 설정되고 사용자의 축의 'PlotBoxAspectRatioMode' 특성과 관련이 있다고 생각을했습니다 예를 들어 나는 시도했다. axis 또는 다른 옵션을 사용하여 축 제한을 지정해야합니다. 데이터에 적합한 경우 각 축에 axis equal을 지정하십시오. 또는 axis square 일 수도 있습니다.