2024-01-31 17:12:11 +01:00

98 lines
1.9 KiB
Python
Executable File

# %%
import pandas as pd
import numpy as np
from scipy import stats
df = pd.read_csv('UCL 24 - freebreaks_BaseScenario_violations.csv')
# %%
df.head()
# %%
for column in df:
print(column)
print("\t",df[column][0])
try:
print("\t",df[column][1:])
print("\t",round(df[column][1:].astype('float64').mean(),2))
except:
pass
# %%
import matplotlib.pyplot as plt
# width of the bars
barWidth = 15
# Choose the height of the blue bars
ucl = [
]
# Choose the height of the cyan bars
relaxed = [
0,
round(0,2),
round(0.458333333333333,2),
round(2.83333333333333,2),
0,
round(0.25,2),
round(5.83333333333333,2),
round(0,2),
0,
round(2.70833333333333,2),
round(0,2),
round(9.625,2),
]
diff = [-round(ucl[i] - relaxed[i],2) for i in range(len(ucl))]
bars4 = ucl + relaxed + diff
# The x position of bars
# r1 = np.arange(len(ucl))
# r2 = [x + barWidth for x in r1]
# r3 = [x + 2*barWidth for x in r1]
r1 = [4*i*barWidth for i in range(12)]
r2 = [4*i*barWidth+1*barWidth for i in range(12)]
r3 = [4*i*barWidth+2*barWidth for i in range(12)]
r4 = r1 + r2 + r3
# Create labels
label = bars4
# Text on the top of each bar
for i in range(len(r4)):
plt.text(x = r4[i]-0.3 , y = bars4[i]+0.1, s = label[i], size = 6)
# Create blue bars
plt.bar(r1, ucl, width = barWidth, color = 'blue', edgecolor = 'black', capsize=7, label='classic')
# Create cyan bars
plt.bar(r2, relaxed, width = barWidth, color = 'cyan', edgecolor = 'black', capsize=7, label='relaxed')
# Create cyan bars
plt.bar(r3, diff, width = barWidth, color = 'red', edgecolor = 'black', capsize=7, label='diff')
# general layout
plt.xticks([10+ r*4*barWidth for r in range(len(ucl))], ['Pair Hard','Pair A','Pair B','Pair C','HA Hard','HA A','HA B','HA C','Enc Hard','Enc A','Enc B','Enc C'])
plt.ylabel('# Violations')
plt.legend()
# plt.ylim((0,3))
plt.title("Evaluation")
# Show graphic
plt.show()
# %%