Clear Filters
Clear Filters

Save figure name as string

17 views (last 30 days)
DavidL88 on 14 Dec 2021
Answered: Image Analyst on 14 Dec 2021
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']));

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.
DavidL88 on 14 Dec 2021
That worked thanks.
Steven Lord
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.

Sign in to comment.

More Answers (1)

Image Analyst
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);


Find more on Environment and Settings 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!