1 import matplotlib
as mpl
2 import matplotlib
.mlab
as mlab
3 import matplotlib
.pyplot
as plt
4 import matplotlib
.axes
as axe
5 import matplotlib
.collections
as collections
9 from matplotlib
.pyplot
import *
11 FVAR
= '../data/rk_variance.dat'
12 #FMEAN = '../rk_mean.dat'
13 FOUT
= '../latex/images/diffusion.png'
19 ylabel1
= r
'$k\,[\tau]$'
20 #ylabel1 = r'$\langle {x(k\tau)}^2 - \langle x(k\tau) \rangle^2\rangle$'
21 xlabel1
= r
'$\langle x \rangle$'
22 xlabel2
= r
'$k\,[\tau]$'
24 res
= (1024/80,768/80) # default dpi is 80
26 def get_trajectory(r
,x
):
27 print "---------------------------------------------------------"
29 ret_x
= [ [] for DUMMYVAR
in range(len(uniquer
)) ]
30 ret_y
= [ [] for DUMMYVAR
in range(len(uniquer
)) ]
31 for j
in range(len(uniquer
)):
33 for i
in range(len(x
)):
34 if (r
[i
] == uniquer
[j
]):
37 #ret_y[j].append(y[i])
38 print uniquer
[j
],":",len(ret_x
[j
]),k
39 print "---------------------------------------------------------"
40 #return (ret_x, ret_y)
43 print "reading data..."
45 var
= mlab
.csv2rec(FVAR
, comments
='#', delimiter
='\t')
46 #mean = mlab.csv2rec(FMEAN, comments='#', delimiter='\t')
56 print "extracting trajectories..."
57 vartra_x
= get_trajectory(r
,var_x
)
58 vartra_y
= get_trajectory(r
,var_y
)
59 #meantra_x = get_trajectory(r,mean_x)
60 #meantra_y = get_trajectory(r,mean_y)
63 t
= range(len(vartra_x
[0]))
67 fig
= plt
.figure(figsize
=res
)
68 #ax1 = fig.add_subplot(121)
69 ax2
= fig
.add_subplot(111)
72 D_x
=[ [] for DUMMYVAR
in range(len(unique(r
))) ]
73 D_y
=[ [] for DUMMYVAR
in range(len(unique(r
))) ]
78 #dmin = min(unique(D))
79 #dmax = max(unique(D))
83 for i
in range(len(unique(r
))):
85 tmp
= vartra_x
[i
][j
]/(2*(j
+1)*tau
)
86 #print tmp,"=",tra_x[i][j],"/",2*(j+1)*tau
90 for i
in range(len(unique(r
))):
92 tmp
= vartra_y
[i
][j
]/(2*(j
+1)*tau
)
99 #for i in range(len(unique(r))):
100 # ax1.plot(meantra_x[i],t)
102 for i
in range(len(unique(r
))):
106 for i
in range(len(unique(r
))):
107 #tmp_tra = meantra_x[i]
109 #ax1.text(tmp_tra[max(t)],max(t)+3,unique_r[i],)
110 ax2
.text(max(t
)+3,tmp_D
[max(t
)],unique_r
[i
],)
112 #ax1.set_xlim(0,len(tra_x[0]))
113 #ax1.set_ylim(0,14001)
114 #ax1.set_xlabel(xlabel1)
115 #ax1.set_ylabel(ylabel1)
116 #ax2.set_xlim(0,len(tra_x[0]))
118 ax2
.set_xlabel(xlabel2
)
119 ax2
.set_ylabel(ylabel2
)