MATLAB: How to make a video of a graph with axes and axes labels

axes labelMATLABwritevideo

Hi
I would like to make the video of a graph which includes the axes labels. It seems that it by default does not. Can someone help me get the whole graph with axes and axes labels in the figure. Here is an example where it does not work as intended since the axes labels are not fully shown.
close all; clear all;
writerObj = VideoWriter('peaks.avi');
writerObj.FrameRate = 5;
open(writerObj);
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
set(gcf,'Renderer','zbuffer');
xlabel('x label')
ylabel('y label')
zlabel('z label')
for k = 1:20
surf(sin(2*pi*k/20)*Z,Z)
frame = getframe;
writeVideo(writerObj,frame);
end
close(writerObj);
winopen('peaks.avi')
Thanks in advance 🙂

Best Answer

Hi
I found out how to solve it. The line frame = getframe; is changed to frame = getframe(gcf);
close all; clear all;
writerObj = VideoWriter('peaks.avi');
writerObj.FrameRate = 5;
open(writerObj);
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
set(gcf,'Renderer','zbuffer');
xlabel('x label')
ylabel('y label')
zlabel('z label')
for k = 1:20
surf(sin(2*pi*k/20)*Z,Z)
frame = getframe(gcf);
writeVideo(writerObj,frame);
end
close(writerObj);
winopen('peaks.avi')
Related Question