basemap是matplotlib的一个子包,负责地图绘制。昨天的推送对如何绘制风向图进行了描述,本文再次利用该包简单介绍如何绘制海洋及海冰温度彩色图示,该图常见于noaa官网。具体操作如下:
导入命令
1)设置工作环境并导入程序包
%cd "F:\Dropbox\python"from mpl_toolkits.basemap import Basemapfrom netCDF4 import Dataset, date2indeximport numpy as npimport matplotlib.pyplot as pltfrom datetime import datetime
登录后复制
2)设定时间并读取数据
dataset = Dataset('http://www.ncdc.noaa.gov/thredds/dodsC/OISST-V2-AVHRR_agg')timevar = dataset.variables['time']timeindex = date2index(date,timevar)
登录后复制
3)数据预处理
立即学习“Python免费学习笔记(深入)”;
sst = dataset.variables['sst'][timeindex,:].squeeze()ice = dataset.variables['ice'][timeindex,:].squeeze()lats = dataset.variables['lat'][:]lons = dataset.variables['lon'][:]lons, lats = np.meshgrid(lons,lats)
登录后复制
4)设定并绘制图示
fig = plt.figure()ax = fig.add_axes([0.05,0.05,0.9,0.9])m = Basemap(projection='kav7',lon_0=0,resolution=None)m.drawmapboundary(fill_color='0.3')im1 = m.pcolormesh(lons,lats,sst,shading='flat',cmap=plt.cm.jet,latlon=True)im2 = m.pcolormesh(lons,lats,ice,shading='flat',cmap=plt.cm.gist_gray,latlon=True)m.drawparallels(np.arange(-90.,99.,30.))m.drawmeridians(np.arange(-180.,180.,60.))cb = m.colorbar(im1,"bottom", size="5%", pad="2%")ax.set_title('SST and ICE analysis for %s'%date)plt.show()
登录后复制
输出图像如下
以上就是【Python教程】地理可视化之二的内容,更多相关内容请关注PHP中文网(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2280120.html