Error saving figure: "fileparts (line 43). input must be a row vector of characters"
6 views (last 30 days)
Show older comments
Hello, I recently can't save figures as .fig files. it worked until a few weeks ago but suddenly I'm getting an error. I can save the same figure as .png or .jpg, but specifically .fig is not working anymore. The error: "input must be a row vector of characters". I changed the file name to only letters but it still didn't work. this is my code:
> f=figure;
> plot(courtship_index),
> cd('/Users/dgal/MATLAB_results/160901_courtship/')
> saveas(f, 'courtship_index', 'fig')
and I received this error chain:
Error using fileparts (line 43)
Input must be a row vector of characters.
Error in savefig (line 53)
[fpath,fname1,ext] = fileparts(fname);
Error in saveasfig (line 6)
savefig(h, name);
Error in saveas (line 140)
feval( ['saveas' format], h, name )
Error in trim_function (line 67)
saveas(f, 'courtship_index', 'fig')
in a separate case I plotted a different figure and tried to save it by clicking "file" -> "save as" on the figure itself, but got the same error: "error using fileparts (line 43). input must be a row vector of characters".
4 Comments
dpb
on 7 Sep 2016
What happens if you simply try fileparts from the command line--
fileparts('courtship_index') % ?
Also what does
which fileparts
return and there's always
clear fileparts
then see what happens...
Accepted Answer
Steven Lord
on 7 Sep 2016
Which release of MATLAB are you using?
Are you certain you're using the fileparts function included in MATLAB? Does this show any fileparts.m file outside the toolbox/matlab subdirectory in your MATLAB root directory?
which -all fileparts
9 Comments
Steven Lord
on 13 Sep 2016
Ah, so the root cause of the problem was one level up. Thanks for closing the loop and letting us know what happened.
More Answers (0)
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!