| 
 
	积分829贡献 精华在线时间 小时注册时间2015-3-5最后登录1970-1-1 
 | 
 
| 
这段时间在家园里学习Python,从安装到画图,受益匪浅,学习了很多老师的Python代码,这里分享一下我学习之后画的nc阴影图~谢谢家园~代码如下:
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  #!/usr/bin/python
 #coding=utf-8
 # -*- coding: gbk -*-
 #coding=gbk
 from mpl_toolkits.basemap import Basemap
 import matplotlib.pyplot as plt
 import numpy as np
 import netCDF4
 from netCDF4 import Dataset
 
 #绘制基础地图
 map = Basemap(projection='cyl',llcrnrlat=15,urcrnrlat=55,llcrnrlon=70,urcrnrlon=140,resolution='l')
 map.drawmapboundary()
 map.drawstates()
 map.drawcoastlines()
 map.drawcountries()
 lons,lats=map.makegrid(71,41)
 lats=lats[::-1]
 x,y=map(lons,lats)
 map.drawparallels(np.arange(15.,56.,10.),labels=[1,0,0,0],fontsize=12)
 map.drawmeridians(np.arange(75.,141.,15.),labels=[0,0,0,1],fontsize=12)
 plt.title('China basemap u-shaded')
 
 nc_obj=Dataset('E:\\uwnd.2015.nc')
 
 #读取数据
 LEVEL=(nc_obj.variables['level'][1])
 TIME=(nc_obj.variables['time'][1])
 LAT=(nc_obj.variables['lat'][:])
 LON=(nc_obj.variables['lon'][:])
 UWIND=(nc_obj.variables['uwnd'][1,1,:,:])
 
 #将原始数据变成网格数据形式
 X,Y = np.meshgrid(LON,LAT)
 
 #绘制等值线和阴影图
 curve=map.contour(X,Y,UWIND)
 #这里是使用了NCL的colorbar
 cmap_color=plt.cm.get_cmap('RdYlBu_r')
 shade=map.contourf(X,Y,UWIND,cmap=cmap_color)
 cbar=map.colorbar()
 cbar.ax.tick_params(labelsize=12)
 plt.savefig('u-shaded.png')
 
 效果图如下:
 
 
 
 
 
 | 
 评分
查看全部评分
 |