How do I create a colored intensity plot from location and intensity values

44 vues (au cours des 30 derniers jours)
Joshua
Joshua le 4 Avr 2023
Commenté : Jon le 4 Avr 2023
There are 13 points with an x and y coordinate. Each point has an intensity value from 1-20. I'm wondering how to display a plot with a colored intensity map simillar to a heat map. Any suggestions?

Réponse acceptée

MarKf
MarKf le 4 Avr 2023
Could imagesc work?
sysize = 100; maxintensity = 20; npoints = 13;
coords = randi(sysize,[npoints,2]);
imatc = nan(sysize);
for icx = 1:size(coords,1), imatc(coords(icx,1),coords(icx,2)) = randi(maxintensity,1); end
clims = [1 maxintensity];
imagesc(imatc,clims), xlabel('x'),ylabel('y'), colorbar

Plus de réponses (1)

Jon
Jon le 4 Avr 2023
This is one approach
% define x,y coordinates and corresponding z value
x = rand(13,1)
y = rand(13,1)
z = x.*y
% make evenly spaced x,y grid to plot data on
[xq,yq]=meshgrid(0:0.1:1,0:0.1:1);
% interpolate data points onto grid
zq = griddata(x,y,z,xq,yq);
% make a filled contour plot (heatmap)
contourf(zq,xq,yq)
  1 commentaire
Jon
Jon le 4 Avr 2023
The above is just an example to show the approach. Obviously you would assign your actual x,y and z values rather than using random values.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by