From 698a3d086fee5628c2d7a22028a2f12d6bc86cad Mon Sep 17 00:00:00 2001 From: NicolasBSN Date: Wed, 1 Mar 2017 12:07:42 +0100 Subject: [PATCH] Add files via upload --- parties/Bar_Chart + Récup_mat.py | 113 +++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 parties/Bar_Chart + Récup_mat.py diff --git a/parties/Bar_Chart + Récup_mat.py b/parties/Bar_Chart + Récup_mat.py new file mode 100644 index 0000000..129dfd9 --- /dev/null +++ b/parties/Bar_Chart + Récup_mat.py @@ -0,0 +1,113 @@ +import matplotlib.pyplot as plt; plt.rcdefaults() +import numpy as np +import matplotlib.pyplot as plt + + +TailleGrilleX = 15 +TailleGrilleY = 15 +GrilleInitiale = 0 +HistoriqueGrille = list() +StratsResultats = list() + + +def recup_mat(matrice, param): + """ array*str-> array + Récupère la matrice avec seulement le paramètre (état,strat,années de prison) voulu afin de pouvoir avoir les stats plus facilement""" + + + matR = np.random.randint(0,1,TailleGrilleX,TailleGrilleY) + + for ligne in range (0,TailleGrilleX): #int ligne + for colonne in range (0, TailleGrilleY): #int colonne + for p in matrice[ligne,colonne]: + if p==param: + matR[ligne,colonne]=dict[param] + return matR + +def bar_chart(): + """array->graph + Retourne le diagramme en baton qui met en évidence le nombre d'années de prison en fonction de la stratégie. et + celui qui met en évidence la proportion des stratégies. + Ils sont mis à jour à chaque fos que tous les éléments de la grille ont fait leur 8 parties locales""" + + matStrat=recup_mat(matrice,'strategie') + matGain=recup_mat(matrice,'annees_de_prison') + + #initialisation des paramètres + + strat0=0 + + strat1=0 + + strat2=0 + + strat3=0 + + strat4=0 + + strat5=0 + + gain0=0 + + gain1=0 + + gain2=0 + + gain3=0 + + gain4=0 + + gain5=0 + + for ligne in range (0,TailleGrilleX): + for colonne in range(0, TailleGrilleY): + + if matStrat[ligne,colonne]==0: + strat0=strat0+1 + gain0=gain0+matGain[ligne,colonne] + + elif matStrat[ligne,colonne]==1: + strat1=strat1+1 + gain1=gain1+matGain[ligne,colonne] + + elif matStrat[ligne,colonne]==2: + strat2=strat2+1 + gain2=gain2+matGain[ligne,colonne] + + elif matStrat[ligne,colonne]==3: + strat3=strat3+1 + gain3=gain3+matGain[ligne,colonne] + + elif matStrat[ligne,colonne]==4: + strat4=strat4+1 + gain4=gain4+matGain[ligne,colonne] + else : + strat5=strat5+1 + gain5=gain5+matGain[ligne,colonne] + + Strat=('1','2', '3','4' ,'5','6') + + x_pos = np.arange(len(Strat)) + + + gain=[gain0,gain1,gain2,gain3,gain4,gain5] + + + + + plt.bar(x_pos, gain, align='center', color='b' ) + plt.xlabel("Stratégies") + plt.ylabel("Nombre d'années de prison") + + plt.xticks(x_pos,Strat) + + plt.show() + return matGain + + + + + + + + \ No newline at end of file