Is there a way to dynamically save a plot figure into a jpeg file without having to type the filename i would be saving it into?
조회 수: 3 (최근 30일)
이전 댓글 표시
I am executing a code that generates a plot figure, which I save using the following command: print '-djpeg' '-f2' '-r300' _f2
Where _f2 is literally the name of the jpeg I will be saving my plot into.
I wonder if there's a way of doing this dynamically, what i mean is that instead of entering the file name literally I could pass a string containing the file name, so I can execute this could without having to type each time the file name in my code.
As a previous step to generating the plot figure, I load a file and analyze it. Each file is identified with a frequency (filename=06000). My idea is to copy the filename (06000) into a string, so i can identify each jpeg with its corresponding file (06000.jpeg)
Thanks!!
댓글 수: 0
채택된 답변
José-Luis
2012년 8월 18일
saveas(figureHandle,['filename' num2str(numberId) '.jpg']);
For more info:
help saveas
Cheers!
댓글 수: 4
Image Analyst
2012년 8월 19일
Strange, you wouldn't want to do that. You must have a figure handle already before you pass it into saveas(). Like this
f3 = figure(3);
% Now plot stuff.
% Now save figure.
saveas(f3,....);
If you did this
saveas(figure(3), ......);
it would probably create a brand new blank figure when it hits the figure(3) code, and then you'd be saving that (a blank figure).
추가 답변 (2개)
Image Analyst
2012년 8월 18일
편집: Image Analyst
2012년 8월 18일
Use sprintf() to construct your filename and then use export_fig() to save it:
baseFileName = sprintf('F%s_h%s.jpg', numberId, numberId);
fullFileName = fullfile(yourFolder, baseFileName);
export_fig(figureHandle, fullFileName); % Best way.
saveas(figureHandle, fullFileName); % Alternative way
댓글 수: 2
Image Analyst
2012년 8월 18일
It look like you just ran the code and didn't read the FAQ. In the FAQ it explains how you can download export_fig. Anyway, here is the direct link: http://www.mathworks.com/matlabcentral/fileexchange/23629-exportfig Or you can go to the front page of the File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/ because it's always the most downloaded submission every month.
Jürgen
2012년 8월 18일
Hi,
with e.g.: freq=1 time=103 Filename = ['F' num2str(freq) '_h' num2str(time) '.jpg'] =>Filename =F1_h103.jpg then saveas(gcf, Filename)
this should work
regards,J
댓글 수: 5
Image Analyst
2021년 3월 24일
That was from 9 years ago. Now you can use the new exportgraphics() function.
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!