How to plot 2D colormap or heatmap?
41 views (last 30 days)
Show older comments
ishita agrawal on 28 Jun 2017
Answered: Image Analyst on 29 Aug 2018
I have 2 matrices, x and y each containing 100-200 datapoints. I want to plot heatmap (or 2D colormap) to show density. For example, x= 1:100; for i=1:100 y=rand(0.01:1); end
Image Analyst on 28 Jun 2017
Try scatteredInterpolant() to generate a 2-D image from randomly scattered points, then use imshow() to display it, and colormap() to apply a colormap, and colorbar() to show a bar alongside the image.
Anjali Gerg on 29 Aug 2018
while applying imshow() function to the object generated after scatteredInterpolation, it says the input number must be a number or logical. Can you suggest how we can apply imshow() after using scatterInterpolation?
More Answers (1)
Image Analyst on 29 Aug 2018
Here is a snippet from my program:
% Make the scattered interpolant.
F = scatteredInterpolant(xi, yi, dataValues)
% Get a grid of points at everypixel location in the RGB image.
[xGrid, yGrid] = meshgrid(1:columns, 1:rows);
xq = xGrid(:);
yq = yGrid(:);
% Evaluate the interpolant at query locations (xq,yq).
vq = F(xq, yq);
fittedImage = reshape(vq, rows, columns);
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!