- 积分
- 829
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-3-5
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这段时间在家园里学习Python,从安装到画图,受益匪浅,学习了很多老师的Python代码,这里分享一下我学习之后画的nc阴影图~谢谢家园~代码如下:
#!/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')
效果图如下:
|
评分
-
查看全部评分
|