Save figure name as string
8 views (last 30 days)
Show older comments
How do I save a file name as a string? hFig is the Figure I want to save and str is the name I want to save this figure as. When I run it i get the below message:
Error using saveas (line 96)
Invalid filename.
str = 'ERP_GRP_1'
saveas(hFig, fullfile(path, [str '.jpeg']));
0 Comments
Accepted Answer
cr
on 14 Dec 2021
saveas(hfig,[directoryPath, str, '.jpeg'])
directoryPath is the string with ending in fileseperator / or \ depending on your OS. If your directory path string doesn't end in it you may include filesep() in the brackets.
4 Comments
Steven Lord
on 14 Dec 2021
You can still use fullfile, you just need to assemble the file name separately.
directoryPath='*\Desktop\EEG figures';
saveas(hFig, fullfile(directoryPath, [str, '.jpeg']))
But the fact that your file path starts with a wildcard seems problematic. I also would recommend against storing your data on the Desktop; sure it's convenient to access manually by clicking on the folder on the desktop, but it makes it more difficult to access the data programmatically.
More Answers (1)
Image Analyst
on 14 Dec 2021
If you have r2020b or later you should use exportgraphics().
And you should not use JPG format unless you're willing to have horrible jpeg compression artifacts.
str = 'ERP_GRP_1';
% Create filename with folder prepended.
folder = pwd; % Or whatever you want.
fullFileName = fullfile(folder, [str, '.png']);
% Save hFig
exportgraphics(hFig, fullFileName);
0 Comments
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!