Plotting 3D Heatmap/Surf using Lat, Lon, Pressure, and a fourth Variable
54 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to plot a 3D figure that looks like heatmap or surf map using Lat, Lon, Pressure as my X, Y, and Z, then colored by a fourth variable C.
The dimension of each variable is like this:
Lat : 1D, 100 x 1
Lon : 1D, 100 x 1
Pressure : 2D, 100 x 32
C : 2D, 100 x32
The problem with using Surf function is that the Z variable must be a matrix and have the same dimension as the X and Y, which I assume should be 100 x 100. Typically this means Z is a fuction of X and Y, or Z is uniform.
Here, my pressure is 100 x 32, but each pressure level for a Lat Lon location is different... Not only Pressure is not a function of Lat and Lon, Pressure itself is not uniform among all the Lat and Lon location.
I have plotted the 3D figure using scatter3, but I want to make a plot that similar to heatmap or surf map. How do I do this?
Thank you very much for your help!
2 个评论
回答(1 个)
Pratyush
2023-8-4
I understand that you want to plot a 3D surface map of {Latitude, Longitude, Pressure}. Looking at the code you posted about scatter plot, I assume you have a pair {Lat(i), Lon(i)} maps to 32 different Pressure(i) values. You can plot a surf map using the following code:
% make 32 duplicate columns of Lat and Lon
Lat = repmat(Lat,32,1);
Lon = repmat(Lon,32,1);
% Plot surf map
surf(Lat, Lon, Pressure, C);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!