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 FIN
= '../rk_variance.dat'
12 FOUT
= '../diffusion.png'
18 xlabel1
= r
'$k\,[\tau]$'
19 ylabel1
= r
'$\langle {x(k\tau)}^2 - \langle x(k\tau) \rangle^2\rangle$'
20 xlabel2
= r
'$k\,[\tau]$'
22 res
= (1440/80,900/80) # default dpi is 80
24 def get_trajectory(r
,x
):
25 print "---------------------------------------------------------"
27 ret_x
= [ [] for DUMMYVAR
in range(len(uniquer
)) ]
28 ret_y
= [ [] for DUMMYVAR
in range(len(uniquer
)) ]
29 for j
in range(len(uniquer
)):
31 for i
in range(len(x
)):
32 if (r
[i
] == uniquer
[j
]):
35 #ret_y[j].append(y[i])
36 print uniquer
[j
],":",len(ret_x
[j
]),k
37 print "---------------------------------------------------------"
38 #return (ret_x, ret_y)
41 print "reading data..."
43 data
= mlab
.csv2rec(FIN
, comments
='#', delimiter
='\t')
50 print "extracting trajectories..."
51 tra_x
= get_trajectory(r
,x
)
52 tra_y
= get_trajectory(r
,y
)
55 t
= range(len(tra_x
[0]))
58 fig
= plt
.figure(figsize
=res
)
59 ax1
= fig
.add_subplot(121)
60 ax2
= fig
.add_subplot(122)
63 D_x
=[ [] for DUMMYVAR
in range(len(unique(r
))) ]
64 D_y
=[ [] for DUMMYVAR
in range(len(unique(r
))) ]
69 #dmin = min(unique(D))
70 #dmax = max(unique(D))
74 for i
in range(len(unique(r
))):
76 tmp
= tra_x
[i
][j
]/(2*(j
+1)*tau
)
77 #print tmp,"=",tra_x[i][j],"/",2*(j+1)*tau
81 for i
in range(len(unique(r
))):
83 tmp
= tra_y
[i
][j
]/(2*(j
+1)*tau
)
90 for i
in range(len(unique(r
))):
93 for i
in range(len(unique(r
))):
97 #ax1.set_xlim(0,len(tra_x[0]))
99 ax1
.set_xlabel(xlabel1
)
100 ax1
.set_ylabel(ylabel1
)
101 #ax2.set_xlim(0,len(tra_x[0]))
103 ax2
.set_xlabel(xlabel2
)
104 ax2
.set_ylabel(ylabel2
)