47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
import json
|
|
from matplotlib import pyplot as plt
|
|
from island.match import Match
|
|
from island.matches import Matches
|
|
from numpy import mean, std
|
|
import numpy as np
|
|
|
|
|
|
matches = Matches('wos-data-new-2')
|
|
max_round = 15
|
|
|
|
|
|
|
|
fig = plt.figure(figsize=(6.4, 3.6))
|
|
ax = fig.gca()
|
|
index = np.arange(13)
|
|
ax.set_xlabel('k')
|
|
ax.set_ylabel('p(k)')
|
|
|
|
c = ['#00b894','#00cec9','#0984e3','#6c5ce7','#e84393','#d63031','#e17055','#fdcb6e','#2d3436','#6ab04c','#30336b','#ED4C67']
|
|
|
|
for i in range(len(matches.data)):
|
|
k = np.zeros(13)
|
|
m = matches.data[i]
|
|
n = {}
|
|
for r in m.query('neighbor', 'create').raw_data:
|
|
if r['a'] in n:
|
|
n[r['a']].append(r['b'])
|
|
else:
|
|
n[r['a']] = [r['b']]
|
|
|
|
if r['b'] in n:
|
|
n[r['b']].append(r['a'])
|
|
else:
|
|
n[r['b']] = [r['a']]
|
|
for j in n.keys():
|
|
print(n[j], len(n[j]))
|
|
k[len(n[j])] += 1
|
|
pk = k / np.sum(k)
|
|
print(i)
|
|
# ax.scatter(index, pk, color=c[i])
|
|
ax.scatter(index, pk)
|
|
|
|
# ax.set_title('Scores by group and gender')
|
|
fig.tight_layout()
|
|
plt.show()
|
|
# plt.savefig('graph/neigh_per_round.eps') |