Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- from scipy.stats.stats import pearsonr
- from matplotlib.offsetbox import TextArea, VPacker, AnnotationBbox
- import os
- plt.rcParams.update({'font.size':11,'font.family':'arial'})
- plt.rcParams['xtick.labelsize']=10
- plt.rcParams['ytick.labelsize']=10
- list = ['01', '02','03','04']
- for date1, date2 in zip(list,list):
- fname1='Match-Imsra-Trmm-'+date1+'NOV2016-0.25.dat'
- fname2='Match-Imsra-Gsmap-'+date2+'NOV2016-0.1.dat'
- data1=np.loadtxt('./1-match-imsra-trmm-loop/'+fname1)
- data2=np.loadtxt('./2-match-imsra-gsmap-loop/'+fname2)
- lat1=data1[:,0]
- lon1=data1[:,1]
- imsra1=data1[:,2]
- trmm1=data1[:,5]
- lat2=data2[:,0]
- lon2=data2[:,1]
- imsra2=data2[:,2]
- gsmap2=data2[:,5]
- #########################################################################
- plt.figure(figsize=(8,8),facecolor='grey')
- plt.subplot(211)
- plt.plot(trmm1, imsra1,'ro',markersize=5)
- plt.xlim(0,400)
- plt.ylim(0,400)
- plt.xlabel('TRMM-3B42(mm)')
- plt.ylabel('IMSRA(mm)')
- plt.title('IMSRA vs TRMM-3B42 at '+fname1[17:26],fontsize=11)
- bias=np.mean(imsra1-trmm1)
- rms=np.sqrt(np.mean((trmm1-imsra1)**2))
- std=np.std(trmm1-imsra1)
- corr1=pearsonr(trmm1,imsra1)
- print corr1
- corr1=corr1[0]
- bias=np.round(bias,2)
- rms=np.round(rms,2)
- std=np.round(std,2)
- corr=np.round(corr1,2)
- #
- ########################################################################
- fig=plt.figure()
- ax=fig.gca()
- texts = ['Bias = '+str(bias)+'mm','Rmse = '+str(rms)+'mm','Corr =
- '+str(corr)]
- colors = ['black','black','black','black']
- Texts = []
- for t,c in zip(texts,colors):
- Texts.append(TextArea(t,textprops=dict(fontsize=10,color=c)))
- texts_vbox = VPacker(children=Texts,pad=0,sep=0)
- ann = AnnotationBbox(texts_vbox,(.55,.85),xycoords=ax.transAxes,
- box_alignment=(0,.4),bboxprops =
- dict(facecolor='white',boxstyle='square'))
- ann.set_figure(fig)
- fig.artists.append(ann)
- ###########################################################################
- plt.subplot(212)
- plt.plot(gsmap2, imsra2,'bo',markersize=5)
- plt.xlim(0,400)
- plt.ylim(0,400)
- plt.xlabel('GSMaP(mm)')
- plt.ylabel('IMSRA(mm)')
- plt.title('IMSRA vs GSMaP at '+fname2[18:26],fontsize=11)
- bias=np.mean(imsra2-gsmap2)
- rms=np.sqrt(np.mean((gsmap2-imsra2)**2))
- std=np.std(gsmap2-imsra2)
- corr1=pearsonr(gsmap2,imsra2)
- print corr1
- corr1=corr1[0]
- bias=np.round(bias,2)
- rms=np.round(rms,2)
- std=np.round(std,2)
- corr=np.round(corr1,2)
- #
- #######################################################################
- fig=plt.figure()
- ax=fig.gca()
- texts = ['Bias = '+str(bias)+'mm','Rmse = '+str(rms)+'mm','Corr =
- '+str(corr)]
- colors = ['black','black','black','black']
- Texts = []
- for t,c in zip(texts,colors):
- Texts.append(TextArea(t,textprops=dict(fontsize=10,color=c)))
- texts_vbox = VPacker(children=Texts,pad=0,sep=0)
- ann = AnnotationBbox(texts_vbox,(.55,.85),xycoords=ax.transAxes,
- box_alignment=(0,.4),bboxprops =
- dict(facecolor='white',boxstyle='square'))
- ann.set_figure(fig)
- fig.artists.append(ann)
- # close and save file
- filename = "scatterplot-combine-daily-on-"+fname1[17:26]+".jpg"
- plt.savefig(filename,dpi=100, bbox_inches='tight')
- plt.close(fig)
- plt.ioff()
Add Comment
Please, Sign In to add comment