Can i record a figure as it is being plotted so that i can send it as an email attachment and viewed by someone who does not have matlab?

回答 (1 件)

Hello. You can save an animated figure using VideoWriter() function. For example ,
writerObj = VideoWriter('example.avi');
writerObj.FrameRate = 60;
open(writerObj);
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
set(gcf,'Renderer','zbuffer');
for k = 1:20
surf(sin(2*pi*k/20)*Z,Z)
frame = getframe;
writeVideo(writerObj,frame);
end
close(writerObj);
The animated plot is saved as an .avi file.

4 件のコメント

yashvin
yashvin 2015 年 7 月 13 日
編集済み: yashvin 2015 年 7 月 13 日
Thanks. I manage to adapt it to my code. I get this error
Error using VideoWriter/writeVideo (line 383)
Frame must be 436 by 344
Error in videoooo (line 125)
writeVideo(writerObj,frame);
bio lim
bio lim 2015 年 7 月 13 日
I can't really be much help unless I see your code. However, these links ( 1 and 2 ) might be useful for fixing your error.
When you use VideoWriter, every frame must be exactly the same size.
yashvin
yashvin 2015 年 7 月 15 日
I am capturing the frames during plotting. In fact, I am having lots of for loop which are generating plots. Can I force the frames to be the same size for all the plots?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

タグ

質問済み:

2015 年 7 月 13 日

コメント済み:

2015 年 7 月 15 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by