#plt.title(str(num2date(datetime_wanted).strftime("%d-%b-%Y %H"))+'h') plot_getsst(ask_input, utc, gbox) lat_wanted = lat[-1] lon_wanted = lon[-1] #find wanted point lat,lon #plt.plot(lon_wanted,lat_wanted,'.',markersize=30,color='m',label='end') plt.plot(np.reshape(lon, np.size(lon)), np.reshape(lat, np.size(lat)), linewidth=3, color='black') #plt.plot(lon[0],lat[0],'.',markersize=20,color='g',label='start') # start time plt.annotate('start', xy=(lon[0], lat[0]), xytext=(lon[0] + (maxlon - minlon) / 10, lat[0] + (maxlat - minlat) / 10), color='white', arrowprops=dict(facecolor='white', frac=0.3, shrink=0.05)) plt.annotate('end', xy=(lon[-1], lat[-1]), xytext=(lon[-1] + (maxlon - minlon) / 10, lat[-1] - (maxlat - minlat) / 5), color='white', arrowprops=dict(facecolor='white', frac=0.3, shrink=0.05)) plt.title('Drifter ' + driftnumber + ' and ' + ask_input.strftime('%d %b %Y') + ' SST') #basemap_standard([int(minlat),np.ceil(maxlat)],[int(minlon-1.5),np.ceil(maxlon)+1.0],2.0) #overrides xlim and ylims set previously bathy = True region = 'wv' basemap_region(region) plt.show()
id=list(set(ids)) rgbcolors=colors(len(id)) for k in range(len(id)): time,ids,lat,lon=getobs_drift_byidrange(id[k],gbox,input_time) plt.plot(lon[0],lat[0],'.',markersize=30,color=rgbcolors[k+1],label=str(id[k])) plt.plot(np.reshape(lon,np.size(lon)),np.reshape(lat,np.size(lat)),color=rgbcolors[k+1]) else: lats,lons=[],[] rgbcolors=colors(len(id)) for m in range(len(id)): time,ids,lat,lon=getobs_drift_byid(id[m],input_time) plt.plot(lon[-1],lat[-1],'.',markersize=30,color=rgbcolors[m+1],label=str(id[m])) plt.plot(np.reshape(lon,np.size(lon)),np.reshape(lat,np.size(lat)),color=rgbcolors[m+1]) for n in range(len(lat)): lats.append(lat[n]) lons.append(lon[n]) basemap_region('ne') plt.title(str(time[0].strftime("%d-%b-%Y %H"))+'h') pylab.ylim([min(lats)-(max(lats)-min(lats))/6.0,max(lats)+(max(lats)-min(lats))/6.0]) pylab.xlim([min(lons)-(max(lons)-min(lons))/6.0,max(lons)+(max(lons)-min(lons))/6.0]) ax.patch.set_facecolor('lightblue') #set background color plt.legend( numpoints=1,loc=2) #plt.savefig('./'+dt.datetime.now().strftime('%Y-%m-%d %H:%M') + '.png') #datetime_wanted=date2num(num2date(datetime_wanted)+datetime.timedelta( 0,step_size*60*60 )) plt.show()
function uses: getobs_drift_byrange,getobs_drift_byidrange,colors,getobs_drift_byid output : a plot file to show drifter track. """ from basemap import basemap_region import datetime as dt import sys import os import pytz, pylab import numpy as np import matplotlib.pyplot as plt from drifter_functions import getobs_drift_byrange, getobs_drift_byidrange, colors, getobs_drift_byid ops = os.defpath pydir = '../' sys.path.append(pydir) #################Input values############################################# fig = plt.figure() ax = fig.add_subplot(111) plt.plot(-67.8914, 41.698, '.', markersize=30, color='black') basemap_region('ne') ax.patch.set_facecolor('lightblue') #set background color plt.legend(numpoints=1, loc=2) #plt.savefig('./'+dt.datetime.now().strftime('%Y-%m-%d %H:%M') + '.png') #datetime_wanted=date2num(num2date(datetime_wanted)+datetime.timedelta( 0,step_size*60*60 )) plt.show()
for k in range(len(id)): time,ids,lat_d,lon_d=getobs_drift_byidrange(id[k],gbox,input_time) #get drifters' data plt.plot(lon_d[0],lat_d[0],'.',markersize=30,color=rgbcolors[k+1],label=str(id[k])) plt.plot(np.reshape(lon_d,np.size(lon_d)),np.reshape(lat_d,np.size(lat_d)),color=rgbcolors[k+1]) #plot else: lats,lons=[],[] rgbcolors=colors(len(id)) # set different colors to different drifter for m in range(len(id)): time,ids,lat_d,lon_d=getobs_drift_byid(id[m],input_time) #get drifters' data by id plt.plot(lon_d[0],lat_d[0],'.',markersize=30,color=rgbcolors[m+1],label=str(id[m])) plt.plot(np.reshape(lon_d,np.size(lon_d)),np.reshape(lat_d,np.size(lat_d)),color=rgbcolors[m+1]) for n in range(len(lat_d)): lats.append(lat_d[n]) lons.append(lon_d[n]) plt.title(str(time[0].strftime("%d-%b-%Y %H"))+'h') pylab.ylim([sorted(gbox)[2]+0.01,sorted(gbox)[3]-0.01]) # set range area . pylab.xlim([sorted(gbox)[0]+0.01,sorted(gbox)[1]-0.01]) #pylab.ylim([min(lats)-(max(lats)-min(lats))/6.0,max(lats)+(max(lats)-min(lats))/6.0]) #pylab.xlim([min(lons)-(max(lons)-min(lons))/6.0,max(lons)+(max(lons)-min(lons))/6.0]) #ax.patch.set_facecolor('lightblue') #set background color bathy=True region='wv' # set basemap basemap_region(region) plt.legend( numpoints=1,loc=2) plt.savefig('./'+str(time[0].strftime("%d-%b-%Y %H"))+'h' + '.png') #datetime_wanted=date2num(num2date(datetime_wanted)+datetime.timedelta( 0,step_size*60*60 )) plt.show()
matplotlib.use("wx") import pylab # use the standard Basemap plt.figure(1, figsize=(5, 4)) # makes figure less than the defaul 8x6 inches bm.basemap_standard([42.0, 43.0], [-71.0, -70.0], [0.5]) # always make this last argument a list in brackets # position figure window on the screen thismanager1 = pylab.get_current_fig_manager() thismanager1.window.SetPosition((0, 0)) plt.title("basemap_standard") plt.show() # use the ascii files of coastline already on disk plt.figure(2, figsize=(5, 4)) bm.basemap_region("sne") thismanager2 = pylab.get_current_fig_manager() thismanager2.window.SetPosition((0, 500)) plt.title("basemap_region") plt.show() # extract coastline and bathymetry using pydap plt.figure(3, figsize=(5, 4)) bm.basemap_usgs([42.0, 43.0], [-71.0, -70.0], True, True, [0.5], [-50, 0], 5) thismanager3 = pylab.get_current_fig_manager() thismanager3.window.SetPosition((500, 0)) plt.title("basemap_usgs") plt.show() # extract coastline and bathymetry using pydap