change tick values heat map

I want to set ticks to my heat map figure. I don't find any options to do it. It has automatically set it with numbers. also I want to add subscripts to the values inside the boxes.

 Accepted Answer

It seems that "heatmap" has no properties for changing display text. You can use imagesc instead:
data = rand(4);
imagesc(data); colorbar
h = gca;
h.XTick= 1:4;
h.XTickLabel = ["A", "B", "C", "D"];
[xx, yy] = meshgrid(1:4, 1:4);
str = string(data(:));
str(1) = str(1)+"^B"; % Now you can specify the text anyway you like. This is an example
text(xx(:), yy(:), str, 'HorizontalAlignment', 'center')

4 Comments

Thank you. It works.
I have a issue here. I am currently unable to change the colour scheme from blue to red
Chunru
Chunru on 13 Jul 2022
Edited: Chunru on 13 Jul 2022
try colormap(jet) or colormap(hot)
doc colormap for more help
what you have mentioned are in built color codes. I want the color grading to be from red to blue as given in my first picture. aslo with this code I am unable to make the background colour to be white instead of blue( grids with zero values). with heat map i used a file exchange but for this the exchange is not working

Sign in to comment.

More Answers (1)

cdata = rand(3,3);
h = heatmap(cdata);
h.XData = ["A", "B", "C"];
h.YData = ["A_1", "B_1", "C_1"];

3 Comments

Thanks it works. How can I add subscriptsor suprscripts to the values inside the boxes?
Can you explain what you want exactly?
I want to insert letters or numbers as power of the numbers as in picture

Sign in to comment.

Categories

Asked:

on 30 Jun 2022

Commented:

on 13 Jul 2022

Community Treasure Hunt

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

Start Hunting!