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