analistica/ex-6/plots/emd-round.py

44 lines
1.2 KiB
Python

import numpy as np
import matplotlib.pyplot as plt
def plot(table, title='', log=False):
plt.figure(figsize=(6.3, 6))
plt.suptitle(title)
plt.subplot(211)
if log:
plt.xscale('log')
plt.title('EMD' + ' '*10, loc='right')
plt.plot(table[0], table[1], color='#92182b')
plt.tick_params(axis='y', labelcolor='#92182b')
plt.ylabel('average', color='#92182b')
plt.ticklabel_format(style='sci', axis='y',
scilimits=(0, 0), useMathText=True)
twin = plt.twinx()
twin.plot(table[0], table[2], color='gray')
twin.tick_params(axis='y', labelcolor='gray')
twin.set_ylabel('standard deviation', color='gray')
twin.ticklabel_format(style='sci', axis='y',
scilimits=(0, 0), useMathText=True)
plt.subplot(212)
if log:
plt.xscale('log')
plt.title('skewness', loc='right')
plt.xlabel('RL rounds')
plt.plot(table[0], table[3], color='xkcd:gray')
plt.tight_layout()
table = np.loadtxt('ex-6/plots/emd-round.txt')
plot(table[:27].T, title='noiseless', log=True)
plot(table[27:47].T, title=r'noise at $\sigma=0.005$')
plot(table[47:67].T, title=r'noise at $\sigma=0.01$')
plot(table[67:].T, title=r'noise at $\sigma=0.05$')
plt.show()