# -*- coding: utf-8 -*-
print(__doc__)

# Author: RACHED Anis <rachedanis94@gmail.com>
# License: MIT

# ANALYSE DES DONNEES: VISUALISATION D'UNE VARIABLE SOUS FORME D'HISTOGRAMME

import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# largeur des elements de l'histogramme ( -1: pour garder la valeur par defaut)
BIN_WIDTH = -1

# Simulation à etudier
SIM = 'SIM3'
TR_GEN_METH = 'GAUS'
STATE = 'INIT'

# Histogramme à afficher
VAR = 'TR'

def mask(df, f):
  return df[f(df)]

# importer les données
DATA_TO_ANALYSE = TR_GEN_METH+'-TR_'+SIM+'_'+STATE
PATH_TO_DATA = './out/'+SIM+'/'+DATA_TO_ANALYSE+'.csv'
data = pd.read_csv(PATH_TO_DATA)

FILTER = ''
# Decommenter pour filtrer les données 
#FILTER = 'Correct==1 and TR!=-1' 
#data = data.query(FILTER)

X = data[VAR]

directory = './out/'+SIM+'/'
if not os.path.exists(directory):
    os.makedirs(directory)

# Affichage de l'histograme
hist = plt.figure(1)
results, edges = np.histogram(X, normed=True)
binWidth = edges[1] - edges[0]
if (BIN_WIDTH != -1):
    binWidth = BIN_WIDTH
plt.bar(edges[:-1], results*binWidth*len(X), binWidth)
plt.xlabel(VAR)
LABEL = TR_GEN_METH+'-TR_'+SIM+'_HIST_'+VAR
plt.title(LABEL)

# Stockage du resultat
hist.savefig(directory+LABEL+'.png')
hist.show()

plt.show()