Вопрос

I have to do exactly what my title says. I have a figure with a subplot, for example 3-by-5. I want to take all different graph inside the subplot and make each one of them a frame (in this case, 15 different frames). I have tried different solution but nothing worked. For example I tried:

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);

Or I tried

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);
Это было полезно?

Решение

I believe that the issue has to do with the 'PlotBoxAspectRatioMode' property of your axes being set to 'auto' when they're first created. You'll need to specify your axis limits with axis or use of the other options. If it's suitable for your data, try specifying axis equal for each axis. Or maybe axis square.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top