How do I create a colored intensity plot from location and intensity values
46 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
MarKf
on 4 Apr 2023
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
0 Comments
More Answers (1)
Jon
on 4 Apr 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 Comment
Jon
on 4 Apr 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.
See Also
Categories
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!