-
Notifications
You must be signed in to change notification settings - Fork 0
/
plotKew.py
65 lines (47 loc) · 1.57 KB
/
plotKew.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
import matplotlib.pyplot as plt
font = {'family': 'serif',
'color': 'black',
'weight': 'normal',
'size': 11,
}
# Plotting function to plot timestep rewards to show how the average agent
# reward increases over the training period by the specified resolution
def plot(rewards, mins, maxs, uq, lq):
#plt.ylim(0, 500)
plt.xlabel('Episode', fontdict=font)
plt.ylabel('Reward', fontdict=font)
plt.plot(rewards, label='average')
plt.plot(mins, label='minimum')
plt.plot(maxs, label='maximum')
plt.plot(uq, label='upr-qrt')
plt.plot(lq, label='lwr-qrt')
plt.legend()
plt.show()
# Plot average reward against standard deviation of reward
def plotStd(rwd, std):
plt.plot(rwd, std, ',b')
plt.xlabel('Reward', fontdict=font)
plt.ylabel('Standard Deviation', fontdict=font)
plt.show()
# Plot notched box plot for rewards of each experiment along with average
def boxPlot(data, avg, ind):
fig1, ax1 = plt.subplots()
plt.xlabel('Experiment Index', fontdict=font)
plt.ylabel('Reward', fontdict=font)
ax1.boxplot(data, notch=True)
ax1.plot(ind, avg, 'x--b', label='average')
plt.legend()
plt.show()
# Plot grid of histograms of frequency of average rewards for each experiment
def histExp(data, row, col, experiments):
fig, ax = plt.subplots(row, col)
e = 0
for x in range(row):
for y in range(col):
ax[x, y].hist(data[e], 100)
e += 1
plt.show()
# Plot histogram of reward frequency
def hist(data):
plt.hist(data, 100)
plt.show()