Save figure with all subplots

I generated a lot of figures with subplots. I want to save them and don't want to display them.
I realized only the last subplot is saved. Is there anyway I can save all subplots in a figure.
The following is an example code.
t=linspace(1,10,20);
y=2*t;
for i=1:3
f=figure('visible','off');
subplot(1,3,i)
p=plot(t,y);
saveas(f,'test','jpg')
end

댓글 수: 1

Trang Doan
Trang Doan 2021년 4월 19일
이동: Adam Danz 2024년 10월 7일
how to save 1 figure of the subplots

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2019년 10월 9일

2 개 추천

Construct new file names each iteration.
saveas(f, sprintf('test%d.jpg', i))

댓글 수: 4

Sharon
Sharon 2019년 10월 9일
편집: Sharon 2019년 10월 9일
Thank you Walter.
I made the mistake using
figure('visible','off')
So it generates new figure every loop.
After correcting it to
t=linspace(1,10,20);
y=2*t;
for i=1:3
f=figure(1);
set(f,'Visible', 'off')
subplot(1,3,i)
p=plot(t,y);
saveas(f,'test','jpg')
end
It works.
Walter Roberson
Walter Roberson 2019년 10월 9일
That would overwrite test.jpg each iteration.
Sharon
Sharon 2019년 10월 9일
You are right. I should put saveas outside the loop.
I'd also like to point readers in the direction of exportgraphics instead of saveas.
exportgraphics(fig, filename)

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Printing and Saving에 대해 자세히 알아보기

질문:

2019년 10월 9일

댓글:

2024년 10월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by