Plot multiple maps with transparency using raster data

2 次查看(过去 30 天)
I have a three-Dimension dataset var_slice, the first and second dimensions are latitude and longitude, the third is time. I want to plot all the images for all times together by setting the transparency. So I can get a final figure in which regions have multiple occurence have darker color. How can I overlay all the images? I put the code to plot the map for a singe time below and attached the data. Any help would be appreciated.
% load the 3-D data
load var_slice.mat
load lat.mat
load lon.mat
% plot
pcolor(lon,lat,var_slice(:,:,1))
shading interp;
hold on
borders('continental us','color','k','linestyle','-','linewidth',1.2)
% axis tight
hold off
ylim([25,50])
xlim([-130,-95])

回答(1 个)

Walter Roberson
Walter Roberson 2024-3-21
% load the 3-D data
load var_slice.mat
load lat.mat
load lon.mat
% plot
for K = 1 : size(var_slice,3)
s = pcolor(lon,lat,var_slice(:,:,1));
s.FaceAlpha = 0.05;
s.EdgeColor = 'none';
hold on
end
%shading interp;
borders('continental us','color','k','linestyle','-','linewidth',1.2)
Unrecognized function or variable 'borders'.
% axis tight
hold off
ylim([25,50])
xlim([-130,-95])
  1 个评论
Qian
Qian 2024-3-21
Thank you so much for your help. In the for loop the index should be K: s = pcolor(lon,lat,var_slice(:,:,K)). It works! The borders can be added using https://www.mathworks.com/matlabcentral/fileexchange/50390-borders. Thanks again.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by