title according to the file name

43 views (last 30 days)
Does anybody know how to (in a plot) put the ‘title’ as the name of the file where the X,Y,Z variables are included? the idea is to generate several and independent plots, based on ‘imagesc’, ‘contolchart’ and other plotting functions. Thanks.
  4 Comments
John Ostrander
John Ostrander on 24 Mar 2022
@Rik I am looking for something similar. There is a python code for it (I am learning both and very much a newbie) but in my case and I suspect the qeustion is the same:
C:\path\morepath\.......\filename.csv some of my files are buried deep in the file structure.
Strip "filename" from this automatically and insert it as the graph title.
I work with many files, and many graphs look alike. This would save time.
Rik
Rik on 24 Mar 2022
The fileparts function should do what you need:
[p,f,e]=fileparts('C:\path\morepath\filename.csv')
p = 0×0 empty char array
f = 'C:\path\morepath\filename'
e = '.csv'
%(these results are on Linux, on Windows you should get this)
p = 'C:\path\morepath'
f = 'filename'
e = '.csv'

Sign in to comment.

Accepted Answer

Constantino Carlos Reyes-Aldasoro
Perhaps you want to add values to the titles of your figures, try something like this
for k=1:9
subplot(3,3,k)
title(strcat('Subplot number =',num2str(k)))
end
If this does not answer your question, we would need more information.
  1 Comment
Adam Danz
Adam Danz on 15 Apr 2021
or,
title(['Subplot number = ', num2str(k)])
or,
title(sprintf('Subplot number = %d', k))

Sign in to comment.

More Answers (1)

Chunru
Chunru on 15 Apr 2021
filename = "abc";
load(filename, "x", "y");
plot(x, y)
title(sprintf("File name: %s", filename));
  1 Comment
Rik
Rik on 15 Apr 2021
You shouldn't encourage loading variables like this. Always load to a struct:
S=load(filename, "x", "y");x=S.x;y=S.y;

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!