Setting the color of specific cells in a heatmap that contains two types of data

14 views (last 30 days)
Amin Kassab-Bachi
Amin Kassab-Bachi on 26 Nov 2021
Commented: DGM on 27 Nov 2021
I created the array below in Excel, and it's perfect except that the color bar is ugly and not detailed enough.
So I've been trying to recreate it in MATLAB using the heatmap function and this is what I produced so far.
Which is almost perfect, but I need to set a separate colormap, or a separate condition for the p-value cells. I want only cells with p-value of less than 0.05 to be colored while the rest is just white or black.
Some help with this would be great.
Thanks a lot.
Amin Kassab-Bachi
Amin Kassab-Bachi on 26 Nov 2021
Thanks for the comment.
The code
h=heatmap([1:30],["r(FCP)","r(FCP) {\it{p-value}}","{\rho}(FCP)","{\rho}(FCP) {\it{p-value}}","r(IDP)","r(IDP) {\it{p-value}}","{\rho}(IDP)","{\rho}(IDP) {\it{p-value}}"],[r_CP,rpval_CP,rho_CP,pval_CP,r_MNP,rpval_MNP,rho_MNP,pval_MNP]','Colormap',jet);
caxis([-1 1])
The Data is attached. I hope this is helpful.

Sign in to comment.

Accepted Answer

DGM on 26 Nov 2021
You can use NaN to indicate out-of-range data
h = rand(10,10);
h(h<0.1) = NaN;
hh = heatmap(h);
hh.MissingDataLabel = 'h < 0.1';
The color of the excluded cells can be set using the MissingDataColor property.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!