繁体   English   中英

MatPlotLib Pcolormesh 没有正确覆盖

[英]MatPlotLib Pcolormesh not overlaying properly

我正在尝试复制本教程: https://makersportal.com/blog/2019/7/8/satellite-imagery-analysis-in-python-part-i-goes-16-data.netcdf-files-and-底图工具包

给Plot一个简单的热map这样:

在此处输入图像描述

但我得到的是:

在此处输入图像描述

这是代码片段

nc_folder = data_path  # define folder where .nc files are located
lon, lat = lat_lon_reproj(nc_folder)

data, data_units, data_time_grab, data_long_name, var_name = data_grab(nc_folder, file_indx)
# main data grab from function above

data_bounds = np.where(data.data != 65535)
bbox = [np.min(lon[data_bounds]),
        np.min(lat[data_bounds]),
        np.max(lon[data_bounds]),
        np.max(lat[data_bounds])]  # set bounds for plotting

# figure routine for visualization
fig = plt.figure(figsize=(9, 4), dpi=200)

n_add = 0  # for zooming in and out
m = Basemap(llcrnrlon=bbox[0] - n_add, llcrnrlat=bbox[1] - n_add, urcrnrlon=bbox[2] + n_add, urcrnrlat=bbox[3] + n_add,
             resolution='i', projection='cyl')
m.fillcontinents(color='#d9b38c', lake_color='#bdd5d5', zorder=1)  # continent colors
m.drawmapboundary(fill_color='#bdd5d5', zorder=0)  # ocean color
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.25)
m.drawstates(zorder=2)
m.pcolormesh(lon.data, lat.data, data, latlon=True, zorder=999, shading='gouraud')  # plotting actual LST data
parallels = np.linspace(bbox[1], bbox[3], 5)
m.drawparallels(parallels, labels=[True, False, False, False], zorder=2, fontsize=8)
meridians = np.linspace(bbox[0], bbox[2], 5)
m.drawmeridians(meridians, labels=[False, False, False, True], zorder=1, fontsize=8)
cb = m.colorbar()

data_units = ((data_units.replace('-', '^{-')).replace('1', '1}')).replace('2', '2}')
plt.rc('text', usetex=True)
cb.set_label(f'{var_name} {data_units}')
plt.title(' on '.format(data_long_name, data_time_grab))
plt.tight_layout()

plt.savefig('goes_16_data_demo.png', dpi=200, facecolor=[252 / 255, 252 / 255, 252 / 255])  # uncomment to save figure
plt.show()

有人可以告诉我我做错了什么吗?

实际上问题出在数据上,我正在尝试 plot 不干净的云数据,所以我所做的是将较低的值分配为 None 值,因此只显示较高的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM