def Frame(self, grib_object, file_name, vmin, vmax):
""" Initialize the first image of GIF
grib_object: an object containing raw data to be visualized
vmin: min of all data
vmax: max of all data
return generated figure instance
"""
fig = plt.figure(figsize=(8,8))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
lat,lon = grib_object.latlons()
unit = grib_object['units']
data_type = grib_object['name']
date = self.GetTime(grib_object)
data = grib_object.values
m = Basemap(
resolution='c', # c, l, i, h, f or None
projection='cyl',
lat_0=39.72, lon_0=-86.29,
llcrnrlon=-87.79, llcrnrlat= 38.22,
urcrnrlon=-84.79, urcrnrlat=41.22)
parallels = np.arange(38.22, 41.22, 0.5)
m.drawparallels(parallels,labels=[False,True,True,False])
meridians = np.arange(-87.79, -84.79, 0.5)
m.drawmeridians(meridians,labels=[True,False,False,True])
x,y = m(lon, lat)
im = m.pcolormesh(x,y,data,
shading='flat',
vmin=vmin,
vmax=vmax,
cmap=plt.cm.jet)
# self.im = m.imshow(grib_object['values'],vmin=vmin,vmax=vmax, cmap=plt.cm.jet)
cbar = plt.colorbar(location='bottom', fraction=0.046, pad=0.06)
# Adjust the position of Unit
cbar_ax = cbar.ax
cbar_ax.text(0.0, -1.3, unit, horizontalalignment='left')
m.readshapefile(self.shapeFile,'areas')
title = plt.title(data_type + ' ' + date, fontsize = 'x-large')
plt.savefig(file_name)
plt.close(fig)
评论列表
文章目录