matplotlib ограничивает анимацию размером оси - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь построить эту анимацию таким образом, чтобы каждый раз, когда точка выходила за границы (после x или y = 10), она go возвращалась к начальной точке. Вот код на данный момент:

from itertools import count
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

plt.style.use('bmh')

index = count()

def animate(i):
   var = next(index)
   x = var*0.05  % 10
   y = 2 * x
   plt.cla()
   plt.xlim(0,10)
   plt.ylim(0,10)
   plt.xticks([1,2,3,4,5,6,7,8,9,10])
   plt.yticks([1,2,3,4,5,6,7,8,9,10])
   plt.scatter(x,y)

ani = FuncAnimation(plt.gcf(), animate, frames = index, interval = 1)
plt.tight_layout()
plt.show()

Легко ограничить ось x с помощью% 10, но в этом примере ось y быстрее выйдет за пределы go, поэтому она не вернется в 0.

есть ли способ запрограммировать точки так, чтобы они никогда не пересекали ось "стена" и, если они это делают, возвращаются к (0,0)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...