diff --git a/parties/Bar_Chart + Récup_mat.py b/parties/Bar_Chart + Récup_mat.py index e77db72..dfdc292 100644 --- a/parties/Bar_Chart + Récup_mat.py +++ b/parties/Bar_Chart + Récup_mat.py @@ -12,57 +12,51 @@ HistoriqueGrille = list() StratsResultats = list() ListeStrategies = list() -def simulation(): - """->Grille""" - iterations = 0 - while iterations <= MaxIterations : - partie_globale() - pass - - +def matRecup(i, param): + """array*str-> array + Récupère la matrice avec seulement le paramètre stratégie pour chaque joueur , à litération i voulue""" + matR = np.random.randint(0,1,(TailleGrilleX,TailleGrilleY)) + + + matrice = HistoriqueGrilles[i] + + for ligne in range (0,TailleGrilleX): #int ligne + for colonne in range (0, TailleGrilleY): #int colonne + matR[ligne][colonne]=matrice[ligne][colonne][param] + + return matR fig=plt.figure() fig.suptitle('Animation des stratégies') -cmap = mpl.colors.ListedColormap(["black","green","blue","red"]) -bounds=[0,1,2,3] +cmap = mpl.colors.ListedColormap(["black","green" ,"red" ,"blue" ,"yellow"]) +bounds=[0,1,2,3,4,5] norm=mpl.colors.BoundaryNorm(bounds, cmap.N) -img=plt.imshow(matRecup(0, 'stratégies'), interpolation = "nearest", cmap = cmap , norm = norm) +img=plt.imshow(matRecup(0, 'strategie'), interpolation = "nearest", cmap = cmap , norm = norm) + +cb=plt.colorbar(img , cmap=cmap , norm=norm , boundaries = bounds , ticks=bounds) +labels = np.arange(1, 6, 1) +cb.set_ticklabels(labels) + def update(next_iteration,*args): - img.set_array(matRceup(0 , 'stratégies') - return img, + img.set_array(matRecup(next_iteration , 'strategie')) + return [img] -anim = animation.FuncAnimation(fig, update, frames=range(Maxiterations), interval=1000, blit=True , repeat = False) +anim = animation.FuncAnimation(fig, update, frames=range(MaxIterations), interval=1000, repeat = False) plt.show() -def matRecup(i, param): - array*str-> array - """Récupère la matrice avec seulement le paramètre stratégie pour chaque joueur , à litération i voulue""" - - - matR = np.random.randint(0,1,TailleGrilleX,TailleGrilleY) - - matrice = HistoriqueGrille[i] - - for ligne in range (0,TailleGrilleX): #int ligne - for colonne in range (0, TailleGrilleY): #int colonne - matStrat[ligne][colonne]=matrice[ligne][colonne][param] - - return matR - - - -def bar_chart(): + +def affichage_strats_resultats_totaux(): """array->graph Retourne les diagrammes en baton qui mettent en évidence le nombre d'années de prison en fonction de la stratégie et le nombre d'utilisation de chaque stratégies """ @@ -85,31 +79,29 @@ def bar_chart(): for i in range(0,len(ListeStrategies)): - stratUtili[i]=StratsResultats[i]['nb_utilisations'] - gain[i]=StratsResultats[i]['total_ans_prisons'] - - - - - - + stratUtili[i]=StratsResultats[i][0] + gain[i]=StratsResultats[i][1] + + #Diviser nb années de prison par le nb d'utilisatons de le stratégi (moyenne) + Strat=('1','2', '3','4' ,'5') x_pos = np.arange(len(Strat)) plt.subplot(221) + plt.bar(x_pos, stratUtili, align='center' , color='r') + plt.xlabel("Stratégies") + plt.ylabel("Nombre individus ayant adopté stratégie") + + plt.xticks(x_pos,Strat) + + + plt.subplot(222) 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, stratUtili, align='center' , color='r') - plt.xlabel("Stratégies") - plt.ylabel("NB individus ayant adopté stratégie") - - plt.xticks(x_pos,Strat) plt.show()