How to plot 2D colormap or heatmap?

43 Ansichten (letzte 30 Tage)
ishita agrawal
ishita agrawal am 28 Jun. 2017
Beantwortet: Image Analyst am 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

Akzeptierte Antwort

Image Analyst
Image Analyst am 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 Kommentar
Anjali Gerg
Anjali Gerg am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by