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 件のコメント

Adam Danz
Adam Danz 2021 年 6 月 13 日
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).
Kaushal Kishore
Kaushal Kishore 2021 年 6 月 13 日
Hi Thank you. In my case all x,y,z,w are vectors. how do i convert z and w to matrices.
Cris LaPierre
Cris LaPierre 2021 年 6 月 13 日
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?
Kaushal Kishore
Kaushal Kishore 2021 年 6 月 13 日
They represent grid of coordinate (x,y,z)
Kaushal Kishore
Kaushal Kishore 2021 年 6 月 13 日
I am also attaching my sample data
Adam Danz
Adam Danz 2021 年 6 月 14 日
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')
Kaushal Kishore
Kaushal Kishore 2021 年 6 月 14 日
Thank you. It works

サインインしてコメントする。

 採用された回答

Image Analyst
Image Analyst 2021 年 6 月 14 日

0 投票

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 ExchangeData Distribution Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by