How to plot 2D colormap or heatmap?

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

 Accepted Answer

Image Analyst
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.

1 Comment

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?

Sign in to comment.

More Answers (1)

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);
imshow(fittedImage, []);

Categories

Community Treasure Hunt

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

Start Hunting!