-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvisualize-local-t-J
75 lines (57 loc) · 2.31 KB
/
visualize-local-t-J
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
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
import pickle
from os import path, makedirs
# beta-1/sim-20180511-163319
# beta-10/sim-20180512-105824
# beta-0-1/sim-20180512-105719
loadfiles = ['beta_experiment/beta-1/sim-20180511-163319',
'beta_experiment/beta-10/sim-20180512-105824',
'beta_experiment/beta-0-1/sim-20180512-105719']
iter_list = np.arange(0, 4000, 1)
numAgents = 50
autoLoad = True
alpha = 0.002 # 1 / len(iter_list)
for loadfile in loadfiles:
folder = 'save/' + loadfile + '/figs/JBeta'
fname = folder + '/JBeta_gen-' +\
str(iter_list[0]) + '-' + str(iter_list[1] - iter_list[0]) + \
'-' + str(iter_list[-1]) +\
'.npz'
if path.isfile(fname) and autoLoad:
txt = 'Loading: ' + fname
print(txt)
Beta = np.load(fname)['Beta']
mJ = np.load(fname)['mJ']
else:
Beta = np.zeros((numAgents, len(iter_list)))
mJ = np.zeros((numAgents, len(iter_list)))
for i, iter in enumerate(iter_list):
filename = 'save/' + loadfile + '/isings/gen[' + str(iter) + ']-isings.pickle'
startstr = 'Loading simulation:' + filename
print(startstr)
isings = pickle.load(open(filename, 'rb'))
for orgNum, I in enumerate(isings):
Beta[orgNum, i] = I.Beta
mJ[orgNum, i] = np.mean(I.J)
if not path.exists(folder):
makedirs(folder)
np.savez(fname, Beta=Beta, mJ=mJ)
plt.rc('text', usetex=True)
font = {'family': 'serif', 'size': 28, 'serif': ['computer modern roman']}
plt.rc('font', **font)
fig, ax = plt.subplots(1, 1, figsize=(7, 4))
# fig.text(0.51, 0.035, r'$Generation$', ha='center', fontsize=28)
fig.text(0.07, 0.5, r'$J\beta$', va='center', rotation='vertical', fontsize=28)
title = r'Local $J\beta$ of Organisms'
fig.suptitle(title)
plt.tight_layout()
for orgNum in range(0, numAgents):
ax.scatter(iter_list, mJ[orgNum, :]*Beta[orgNum, :],
color=[0, 0, 0], alpha=alpha, s=10)
figname = folder + '/JBeta_gen-' +\
str(iter_list[0]) + '-' + str(iter_list[1] - iter_list[0]) + \
'-' + str(iter_list[-1]) + '.png'
plt.savefig(figname, bbox_inches='tight', dpi=150)
plt.show()