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. 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 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()