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

44 次查看(过去 30 天)
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?

采纳的回答

MarKf
MarKf 2023-4-4
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

更多回答(1 个)

Jon
Jon 2023-4-4
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 个评论
Jon
Jon 2023-4-4
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by