import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np 


n=200
k=6
sigma=[1,2,3,4,5,6]
w=[1,1,1,1,1,1,1]
A=[1,3,8,10]
r=len(A)

err_m100=[np.float64(0.017924641841648548), np.float64(0.017924641841648437), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27)]
err_m1000=[np.float64(0.0029246418416485342), np.float64(0.0029246418416484232), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27)]
err_m10000=[np.float64(0.0014246418416485884), np.float64(0.001424641841648422), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27), np.float64(4.5978732330868696e-27)]

data = pd.DataFrame({
    "error": err_m100 + err_m1000 + err_m10000,
    "group": ["m = 100"] * len(err_m100) + ["m = 1000  "] * len(err_m1000) + ["m = 10000"] * len(err_m10000)
})

# Plot
sns.set(style="whitegrid")
sns.boxplot(x="sample size", y="error", data=data, palette="Set3")
plt.title("Box Plot of DypChiP Error for various sample size ", fontsize=14)
#plt.xlabel("number of samples")
plt.ylabel("|probablities obtained by DypCHip - imperical probablities calculated from m samples ")



file_path = f"/Users/sh1678/Dropbox/Research/Mallows/topkmallows-choices/Plots-synthetic-data/DyPCHiP_Err_n{n}_k{k}__p{p}_r_{r}.png"

plt.savefig(file_path)