44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import json
|
|
from pathlib import Path
|
|
|
|
import numpy as np
|
|
from matplotlib import pyplot as plt
|
|
from matplotlib.ticker import MultipleLocator
|
|
|
|
|
|
def read_and_plot(json_file):
|
|
graph_dir = Path('/Users/wjsjwr/lab/code/swdata/graph/')
|
|
dpath = Path(json_file)
|
|
with open(json_file, 'r') as f:
|
|
data = json.load(f)
|
|
|
|
actions = ''
|
|
rnds = ''
|
|
for d in data:
|
|
if d['cat'] == 'game' and d['act'] == 'created':
|
|
actions = np.zeros((2, int(d['info']['game_end_at'])), dtype=np.int32)
|
|
rnds = list(range(1,int(d['info']['game_end_at'])+1))
|
|
break
|
|
|
|
for d in data:
|
|
if d['cat'] == 'action' and d['act'] == 'done':
|
|
actions[0 if d['act_a'] == 'C' else 1, int(d['rno'])-1] += 1
|
|
actions[0 if d['act_b'] == 'C' else 1, int(d['rno'])-1] += 1
|
|
|
|
plt.clf()
|
|
lines = []
|
|
lg = ['C', 'D']
|
|
l, = plt.plot(rnds, actions[0,:], color='#FF358B', linewidth=1)
|
|
lines.append(l)
|
|
l, = plt.plot(rnds, actions[1,:], color='#01B0F0', linewidth=1)
|
|
lines.append(l)
|
|
plt.figlegend(lines, lg, numpoints=1, loc='upper right')
|
|
fname = "act_rnd_%s.eps" % str(dpath.stem)
|
|
plt.savefig(str(graph_dir / fname))
|
|
|
|
itr = Path('/Users/wjsjwr/lab/wos-data-new/')
|
|
for d in itr.iterdir():
|
|
if d.suffix == '.json':
|
|
read_and_plot(str(d))
|
|
print(str(d))
|