Pregunta

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);
¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top