How to plot 3D heat map in Matlab

83 views (last 30 days)
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 Comments
Adam Danz
Adam Danz on 14 Jun 2021
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')

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 14 Jun 2021
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)

More Answers (0)

Categories

Find more on Data Distribution Plots 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!