From 42be7007f0e182f172fed890d28106456ea38cda Mon Sep 17 00:00:00 2001 From: NicolasBSN Date: Wed, 8 Mar 2017 10:32:11 +0100 Subject: [PATCH] Add files via upload --- parties/Bar_Chart + Récup_mat.py | 95 ++++++++++++++++++++++++++++++++ 1 file changed, 95 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..6b53db2 --- /dev/null +++ b/parties/Bar_Chart + Récup_mat.py @@ -0,0 +1,95 @@ + + +import matplotlib.pyplot as plt; plt.rcdefaults() +import numpy as np +import matplotlib.pyplot as plt +from pylab import * + + +TailleGrilleX = 2 +TailleGrilleY = 3 +GrilleInitiale = 0 +HistoriqueGrille = list() +StratsResultats = list() +ListeStrategies = 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. + Il est 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 + #list gain + gain=[] + #list strat + strat=[] + + for i in range(5): + + gain.append(0) + strat.append(0) + + + + + + for ligne in range (0,TailleGrilleX): + for colonne in range(0, TailleGrilleY): + for j in range(0,len(ListeStrategies)): + + if matStrat[ligne,colonne]==j: + strat[j]=strat[j]+1 + gain[j]=gain[j]+matGain[ligne,colonne] + + + + + + + + Strat=('1','2', '3','4' ,'5') + + x_pos = np.arange(len(Strat)) + + plt.subplot(221) + + plt.bar(x_pos, gain, align='center', color='b' ) + + plt.xlabel("Stratégies") + plt.ylabel("Nombre d'années de prison") + + plt.subplot(222) + plt.bar(x_pos, strat, align='center' , color='r') + plt.xlabel("Stratégies") + plt.ylabel("NB individus ayant adopté stratégie") + + + plt.xticks(x_pos,Strat) + + plt.show() + + + + + + + + \ No newline at end of file