Update Bar_Chart + Récup_mat.py

This commit is contained in:
NicolasBSN 2017-03-15 12:24:06 +01:00 committed by GitHub
parent 02d08d6f40
commit 9ff02e1d3f
1 changed files with 39 additions and 47 deletions

View File

@ -12,57 +12,51 @@ HistoriqueGrille = list()
StratsResultats = list() StratsResultats = list()
ListeStrategies = list() ListeStrategies = list()
def simulation(): def matRecup(i, param):
"""->Grille""" """array*str-> array
iterations = 0 Récupère la matrice avec seulement le paramètre stratégie pour chaque joueur , à litération i voulue"""
while iterations <= MaxIterations : matR = np.random.randint(0,1,(TailleGrilleX,TailleGrilleY))
partie_globale()
pass
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=plt.figure()
fig.suptitle('Animation des stratégies') fig.suptitle('Animation des stratégies')
cmap = mpl.colors.ListedColormap(["black","green","blue","red"]) cmap = mpl.colors.ListedColormap(["black","green" ,"red" ,"blue" ,"yellow"])
bounds=[0,1,2,3] bounds=[0,1,2,3,4,5]
norm=mpl.colors.BoundaryNorm(bounds, cmap.N) 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): def update(next_iteration,*args):
img.set_array(matRceup(0 , 'stratégies') img.set_array(matRecup(next_iteration , 'strategie'))
return img, 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() 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 affichage_strats_resultats_totaux():
def bar_chart():
"""array->graph """array->graph
Retourne les diagrammes en baton qui mettent en évidence le nombre d'années 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 """ 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)): for i in range(0,len(ListeStrategies)):
stratUtili[i]=StratsResultats[i]['nb_utilisations'] stratUtili[i]=StratsResultats[i][0]
gain[i]=StratsResultats[i]['total_ans_prisons'] 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') Strat=('1','2', '3','4' ,'5')
x_pos = np.arange(len(Strat)) x_pos = np.arange(len(Strat))
plt.subplot(221) 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.bar(x_pos, gain, align='center', color='b' )
plt.xlabel("Stratégies") plt.xlabel("Stratégies")
plt.ylabel("Nombre d'années de prison") 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.xticks(x_pos,Strat)
plt.show() plt.show()