Plot matrix with imagesc

7 views (last 30 days)
aurc89
aurc89 on 31 Mar 2020
Commented: aurc89 on 31 Mar 2020
I have a question concerning the plot with imagesc. I have a variable a which is a struct, made of data and the first line of letters (each letter denotes a column), as shown in the figure on the left.
To plot this, I extract the data from the struct a (dat=a.data) and I use the function imagesc (imagesc(dat)), obtaining the figure on the rigth.
I would like to add the letters as shown in the figure (A,B,C), in order to label the data. These letters should be read directly from the line of the .txt file.
How can I do this?

Accepted Answer

Mehmed Saad
Mehmed Saad on 31 Mar 2020
Edited: Mehmed Saad on 31 Mar 2020
  • Use text scan to read from text file
  • Use text to write text on figure
no_of_word_to_read = 3; %no of columns
filename = 'C:\Users\XX PC\Desktop\x.txt'; % your own file name with path
fileID = fopen(filename,'r');%open txt file
varn = textscan(fileID,'%s',no_of_word_to_read);%read text from it
fclose(fileID);% close txt file
v = figure;
imagesc(dat)
mina= min(v.Children.YLim)%get the axis limit
for i = 1:no_of_word_to_read
text(i,mina-0.1,varn{1}{i},'FontSize',15);
end
  3 Comments
Mehmed Saad
Mehmed Saad on 31 Mar 2020
mina= min(ylim)
aurc89
aurc89 on 31 Mar 2020
It works! Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!