Adding numeric values to imagesc

39 views (last 30 days)
Tasi
Tasi on 31 Mar 2015
Commented: Tamar Regev on 27 Feb 2024
How do I display the actual numeric values of a matrix plotted using 'imagesc'? I would like to have a number displayed in each colored box, representing a value of row and column plotted using 'imagesc' function.

Answers (3)

Image Analyst
Image Analyst on 31 Mar 2015
  4 Comments
Tasi
Tasi on 31 Mar 2015
This is an example of my matrix:
-4.0257 -2.1029 -60.5863 -23.3115 -18.6019 -11.0004
-19.5928 -3.1193 -21.1400 -7.0992 -11.3980 3.7057
-3.8306 0.1967 0.5895 3.3293 -1.1123 -0.3119
3.9556 -2.1975 -6.3927 1.9462 4.3546 -0.9120
-2.8013 -5.6693 2.0827 -27.5794 -8.8464 -23.8637
Column 7
-83.9344
-86.2478
-39.9361
-30.2867
-29.6367
I would like these values to be displayed inside the squares I get when I use imagesc, but I am not sure if this can be done with that function.
Image Analyst
Image Analyst on 31 Mar 2015
imagesc() displays pixels. There is no way you can fit all of that into a single pixel and see it on your screen, not even with a microscope. The only way is to blow up the pixels to big patches like I showed you with the im2html program.

Sign in to comment.


Tamar Regev
Tamar Regev on 27 Feb 2024
Just use the text function:
M = [1,2,3;4,5,6;7,8,9];
figure
figure
imagesc([1:3],[1:3],M)
set(gca,'XTick',[1:3],'YTick',[1:3],'fontsize',20)
for i = 1:3
for j = 1:3
text(i,j,num2str(M(i,j)),'FontSize',20)
end
end

Steven Lord
Steven Lord on 27 Feb 2024
This function didn't exist when the question was originally asked, but I suspect the original poster had something like heatmap (introduced in release R2017a) in mind.
  1 Comment
Tamar Regev
Tamar Regev on 27 Feb 2024
gotcha! Good thing that this function exists now :)

Sign in to comment.

Categories

Find more on Images 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!