How to plot 3D heat map in Matlab

Hi. I have (x,y,z) coordinates with measured values called (w) corresponding to these (x,y,z) coordinates. I want to produce a heat map for the measured value (w) in 3D. Is there anyway to do that.

7 个评论

Use surf(X,Y,Z,C) where x and y are vectors or matrices and z and c are matrices (C is your variable, w).
Hi Thank you. In my case all x,y,z,w are vectors. how do i convert z and w to matrices.
Do your x and y vectors contain repeating values? I.e. do they represent a grid of coordinate pairs, or a single line of points?
They represent grid of coordinate (x,y,z)
I am also attaching my sample data
You could try a bubble chart if surf doesn't work out for you.
data = [
0 0 0.2 3
0.5 0 0.3 6
1 0 0.4 8
1.5 0 0.5 3
2 0 0.6 2
0 0.5 0.2 5
0.5 0.5 0.3 4
1 0.5 0.4 3
1.5 0.5 0.5 8
2 0.5 0.6 2
0 1 0.2 3
0.5 1 0.3 5
1 1 0.4 6
1.5 1 0.5 1
2 1 0.6 2
0 1.5 0.2 3
0.5 1.5 0.3 6
1 1.5 0.4 4
1.5 1.5 0.5 6
2 1.5 0.6 8
0 2 0.2 6
0.5 2 0.3 2
1 2 0.4 4
1.5 2 0.5 6
2 2 0.6 4];
bubblechart3(data(:,1),data(:,2),data(:,3),ones(size(data,1),1),data(:,4),'MarkerEdgeColor','none')

请先登录,再进行评论。

 采纳的回答

Image Analyst
Image Analyst 2021-6-14
There is not much heat to plot in that small data set. You might just visualize it with plot3() and make the markers somewhat large.
If you want to interpolate between the few discrete points, you can use scatteredInterpolant.
F = scatteredInterpolant(x,y,z,v) creates a 3-D interpolant of the form v = F(x,y,z).
I'm attaching a 2-D demo (not 3-D)

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by