How to edit the grid size in heatmap and how to make the color scale just a binary value?
32 views (last 30 days)
Show older comments
Jay Vaidya on 5 Jan 2020
Commented: Jay Vaidya on 6 Jan 2020
I have a heat map as shown below. I want to make it look as continous plot as possible, or in other words I want to make it appear without individual grid borders. Also, is it possible to make a binary color seelection like red(high) and yellow(low). My data has a few inf values.Also, is there any way to remove the numbering from the x and y axis in the heatmap figure?
h = heatmap(C);
% h.Colormap = cool;
h.ColorScaling = 'scaled';
h.ColorLimits = [0 10000];
h.GridVisible = 'off';
h.MissingDataColor = [0.8 0.8 0.8];
h.Title = 'Phase matrixs';
h.XLabel = '';
h.YLabel = '';
% caxis(h,[0 1]);
Adam Danz on 5 Jan 2020
Edited: Adam Danz on 5 Jan 2020
"I have a heat map ... I want to make it look as continous plot as possible, ... I want to make it appear without individual grid borders."
Use imagesc(C) instead. You can smooth out the pixels using several different methods. For example, you could interpolate the values or, if you have the image processing toolbox, you can do a 2D gaussian filter as demonstracted below.
"is there any way to remove the numbering from the x and y axis in the heatmap figure?"
Yes, but it's much easier to do if you use imagesc() by setting the xtick and ytick values.
"Also, is it possible to make a binary color seelection like red(high) and yellow(low). "
Yes, you can change the colormap
set(gca, 'Colormap',[1 1 0; 1 0 0])
More Answers (1)
Image Analyst on 6 Jan 2020
Why not use imshow()?
C = 1000 * rand(100); % Create sample data.
C(10, 20) = inf; % Put an inf in there, like the poster has.
imshow(C, [0, 1000], 'InitialMagnification', 800); % Display the image.
colormap(cool(256)); % Apply the colormap.
handleToColorBar = colorbar % Display the colorbar.
% Turn off tick marks so that the colorbar won't have the numbers next to it.
handleToColorBar.Ticks = ;
I'm not sure what you mean by "binary color seelection like red(high) and yellow(low)". Does that mean that you only want two colors in there, not a gradient? If so, which value is the cutover value from red to yellow?
Find more on Colormaps 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!