1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| %matplotlib qt
#le nombre de frame qu'aura l'animation, ie le nombre de jours, ie, le nombre de colonne
frame_number = df.shape[1]-4 #nb de colonnes moins les 4 premières qui ne sont pas des jours
print("nb_colonnes=",frame_number)
#Créer la liste des étiquettes
Label=[]
for i in range(ligne):
>Label.append(df.loc[i][0])
#print("label=",Label)
#Definition du frame du scatter plot
fig = plt.figure(figsize=(10,10))
x=df['Long_deg']
y=df['Lat_deg']
ax = plt.axes()
plt.xlabel("Longitude (en degrés)")
plt.ylabel("Latitude (en degrés)")
plt.title("Deaths due to Covid by region : "+list_days[0],fontsize=15)
for i, label in enumerate(Label):
>plt.annotate(label, (df['Long_deg'][i], df['Lat_deg'][i]))
scatter=plt.scatter(x=df['Long_deg'],y=df['Lat_deg'],s=combine_dict[list_days_s[4]], color='red')
def update(frame_number): #frame_number = nb de jours
>for k in range(frame_number):
>>key=list_days_s[k]
>>scatter.set_sizes(combine_dict[key])
>>date=list_days[k]
>>plt.title("Deaths due to Covid19 : "+date,fontsize=15)
>return scatter,
anim = FuncAnimation(fig, update,frames=range(frame_number),interval=500)
plt.show() |
Partager