#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()
Beispiel #3
0
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