def plot_map(outdict, e, savename, fig1=None, m=None):
"""
This function will plot the output data in a scatter plot over a map of the
satellite path.
Args:
outdict (dict[str, obj]): Output dictionary from analyzebeacons.
e (dict[str, obj]): Output dictionary from ephem_doponly.
savename(:obj:`str`): Name of the file the image will be saved to.
fig1(:obj:'matplotlib figure'): Figure.
m (:obj:'basemap obj'): Basemap object
"""
t = outdict['time']
slat = e['site_latitude']
slon = e['site_longitude']
if fig1 is None:
fig1 = plt.figure()
plt.figure(fig1.number)
latlim = [math.floor(slat-15.), math.ceil(slat+15.)]
lonlim = [math.floor(slon-15.), math.ceil(slon+15.)]
if m is None:
m = Basemap(lat_0=slat, lon_0=slon, llcrnrlon=lonlim[0], llcrnrlat=latlim[0],
urcrnrlon=lonlim[1], urcrnrlat=latlim[1])
m.drawcoastlines(color="gray")
m.plot(slon, slat, "rx")
scat = m.scatter(e["sublon"](t), e["sublat"](t), c=outdict['rTEC'], cmap='viridis',
vmin=0, vmax=math.ceil(sp.nanmax(outdict['rTEC'])))
plt.title('Map of TEC Over Satellite Path')
cb = plt.colorbar(scat,label='rTEC in TECu')
fig1.savefig(savename, dpi=300)
#plt.draw()
scat = m.scatter(e["sublon"](t), e["sublat"](t), c=outdict['rTEC_amp'], cmap='viridis',
vmin=0, vmax=math.ceil(sp.nanmax(outdict['rTEC_amp'])))
plt.title('Map of TEC_Amp Over Satellite Path')
cb.set_clim(vmin=0, vmax=math.ceil(sp.nanmax(outdict['rTEC_amp'])))
cb.draw_all()
#plt.tight_layout()
figpath,name = os.path.split(savename)
savename = os.path.join(figpath,'amp'+name)
fig1.savefig(savename, dpi=300)
plt.close(fig1)
#%% I/O for measurements
评论列表
文章目录