Bonjour,
Je suis étudiant dans le supérieur en biologie et je souhaite illustrer de façon (très) simplifiée l'interaction proies/prédateurs dans un milieu fermé.
Je cherche d'abord à faire bouger mes proies de façon aléatoire.
Pour définir plusieurs proies, j'utilise un dictionnaire (dont je ne connais pas les subtilités...), en leur donnant l'attribue de simples points une interface plotlib.
Cependant, les objets "plot" sont alors stockés dans le dictionnaire sous forme de list, et je ne peux modifier la valeur en utilisant "set_data".
Une ligne de code valant mieux qu'un long discours :
Le problème est ici que Python n'accepte pas le set_data sur une 'list', évidemment...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import matplotlib.pyplot as mp import random def deplacement() : mp.xlim(-100,100) mp.ylim(-100,100) dd={} for i in range(20) : (x,y)=(random.randint(-50,50),random.randint(-50,50)) dd['proie%s' %(i)]=mp.plot(x,y,'o',color='b') for proie in dd.values() : x+=random.randint(-1,1) y+=random.randint(-1,1) proie.set_data(x,y) pause(0.1) mp.draw() mp.show() return()
Comment faire, en sachant que je dois rester dans la simplicité pour ne pas être trop hors-programme...
Je vous remercie d'avance.
Partager