首页 > 解决方案 > 如何在 Matlab 中正确绘制卫星数据

问题描述

我想问一下如何在 MATLAB 中进行绘图。我有 NetCDF 格式的卫星数据,数据是 42x126x189。一些坐标和风速数据有 NaN 数据。当我以以下方式绘制时,我没有得到预期的结果。

这里是 NetCDF 数据:NetCDF 数据

clc; 
clear;
filename = 'wind_speed_data.nc';
vardata = ncinfo(filename); 
wind_speed=ncread(filename, 'wind_speed');
latt=ncread(filename, 'lat');
lon=ncread(filename, 'lon');
num_granule =189;
for i=1:num_granule
   lats=latt(:,:,i);
   lons=lon(:,:,i);
   w_speed=wind_speed(:,:,i);
   figure(1);
   map = pcolor(lons,lats,w_speed);
   axis([92 142 -14 8])
   map.EdgeAlpha = 0;
   shading interp;
   hold on
end
colorbar;
load coast;
hold on;
plot(long,lat,'k')

所有 189 粒图结果如下,即使我已经完成了着色 interp。

全189粒

如果我只绘制 2 个颗粒,这里是结果。

只有2粒

底部有一条不应该存在的横向线,并且土地上应该没有数据。如何在 MATLAB 中正确绘图?

正确的结果应该是这样的正确结果

标签: matlabmatlab-figurematlab-deployment

解决方案


推荐阅读