-
Notifications
You must be signed in to change notification settings - Fork 1
/
varired.py
120 lines (107 loc) · 3.9 KB
/
varired.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
import glob
import sys
stas = glob.glob('Results/*.csv')
stas = [sta.split('_')[1] for sta in stas]
stas = list(set(stas))
stas.sort()
#stas =['ANMO','HIA']
#print(stas)
import matplotlib as mpl
#mpl.rc('font',family='serif')
mpl.rc('font',serif='Times')
mpl.rc('text', usetex=True)
mpl.rc('font',size=12)
stas = glob.glob('Results/*.csv')
stas = [sta.split('_')[1] for sta in stas]
stas = list(set(stas))
letts = ['(a)', '(b)', '(c)', '(d)', '(e)']
fig =plt.figure(1, figsize=(12,18))
plt.subplots_adjust(wspace=0.001)
for idx, freq in enumerate([0.00666666666667, 1./100., 0.0133333333333, 1./50., 1./25]):
As00=[]
As10=[]
stas00=[]
stas10=[]
As00E=[]
As10E=[]
stas00E=[]
stas10E=[]
f = open('Goodstuff_NEW','r')
for line in f:
line = line.replace(' ','')
line = line.split(',')
if float(line[2]) == freq:
if line[1] == '00':
if line[5] == 'A1':
stas00.append(line[0])
val = float(line[9])
if val >= 20:
val = 20.
As00.append(val)
else:
stas00E.append(line[0])
val = float(line[9])
if val >= 20:
val = 20.
As00E.append(val)
if line[1] == '10':
if line[5] == 'A2':
stas10.append(line[0])
val = float(line[9])
if val >= 20:
val = 20.
As10.append(val)
else:
stas10E.append(line[0])
val = float(line[9])
if val >= 20:
val = 20.
As10E.append(val)
f.close()
plt.subplot(151+idx)
for hidx, ele in enumerate(stas):
try:
aidx00 = stas00.index(ele)
aidx00E = stas00E.index(ele)
if hidx == 0:
plt.plot([As00[aidx00]], [hidx], label='00 North-South', color='C0', marker='.', linestyle='None')
plt.plot([As00E[aidx00E]], [hidx], label='00 East-West', color='C0', marker='v', linestyle='None')
else:
plt.plot([As00[aidx00]], [hidx], color='C0', marker='.', linestyle='None')
plt.plot([As00E[aidx00E]], [hidx], color='C0', marker='v', linestyle='None')
except:
pass
try:
aidx10 = stas10.index(ele)
aidx10E = stas10E.index(ele)
if hidx == 0:
plt.plot([As10[aidx10] ] , [hidx], label='10 North-South', alpha=.3, color='C1', marker='.', linestyle='None')
plt.plot([As10E[aidx10E] ] , [hidx], label='10 East-West', alpha=.3, color='C1', marker='v', linestyle='None')
else:
plt.plot([As10[aidx10] ] , [hidx], alpha=.3, color='C1', marker='.', linestyle='None')
plt.plot([As10E[aidx10E] ] , [hidx], alpha=.3, color='C1', marker='v', linestyle='None')
except:
pass
#plt.plot(HV00min,range(len(stas)),'.',label='00')
#plt.plot(HV10max,range(len(stas)),'.',label='10')
#plt.plot(HV10min,range(len(stas)),'.',label='10')
plt.text(0.5, len(stas)+.5, letts[idx] + ' ' + str(int(round(1/freq,0))) + ' s')
plt.ylim((-0.5, len(stas)+2.5))
plt.xlim((0.,20.))
plt.xticks([5., 10., 15.])
if idx == 0:
plt.yticks(range(len(stas)), stas)
else:
plt.yticks([])
if idx == 2:
plt.xlabel('Variance Reduction ($\%$)')
#if idx == 4:
#cb=plt.colorbar(sc, ticks=[0.5, 1., 1.5])
#cb.set_label('H/V Ratio')
plt.subplot(153)
plt.legend(ncol=2, loc='center', bbox_to_anchor=(0.5, -.1))
#plt.show()
plt.savefig('Reductions.jpg',format='JPEG',dpi=400)