Filter löschen
Filter löschen

How to save a plot with the name of the file

36 Ansichten (letzte 30 Tage)
alberto caracciolo
alberto caracciolo am 14 Feb. 2019
Kommentiert: Mark Sherstan am 1 Mär. 2019
Hi,
I'm a beginner on Matlab.
I have a script that read an excel table, does some operations and plots 3 different figures.
What I would like to do is to save each figure with a different name, made of the script's name + _Fo (for example). So if scripts are named file1, file2 and file 3, I want figure 1 to be named file1_Fo, figure 2 as file2_Mn and figure 3 as file3_Ni. The name of the script and the name of the excel table are the same!
How could I do that?
I've tried with something like that
saveas(fig(1), sprintf('_Fo.jpg', 1))
But i don't know how to put the name of the file automatically in front of _Fo.
Thank you
Alberto

Antworten (2)

Mark Sherstan
Mark Sherstan am 14 Feb. 2019
Bearbeitet: Mark Sherstan am 14 Feb. 2019
Use the strcat function. For example...
x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,strcat('file',num2str(ii),'_Fo.jpg')) % Where ii would be the number you want (e.g. you could make a loop so it is not hard coded).
  2 Kommentare
alberto caracciolo
alberto caracciolo am 19 Feb. 2019
Thank you but I don't understand it!
Let's say that I have a script (e.g called MyTest) that produces 3 different figures.
How do I save them automatically with a name like MyTest_Fo, MyTest_Ni and MyTest_Mn?
I would like a way to automatically get the script's name + _Fo, without manually type the script's name!
I don't know if you see what I mean!
Cheers!
Mark Sherstan
Mark Sherstan am 1 Mär. 2019
See the answer below!

Melden Sie sich an, um zu kommentieren.


Stephen23
Stephen23 am 19 Feb. 2019
Use the mfilename function:
M = mfilename();
C = {'Fo','Mn','Ni'};
for k = 1:3
F = sprintf('%s%d_%s.jpg',M,k,C{k})
saveas(fig(1),F)
end

Kategorien

Mehr zu Printing and Saving finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by