Если вы хотите анимировать несколько элементов вместе, вы не должны запускать несколько FuncAnimation
.Вместо этого, запустите одну анимацию и анимируйте всех художников в единственной функции * 1002. *.
. Я не смог запустить ваш код, но я старался быть ближе к тому, что я мог понять о вашем коде в этой демонстрации:
import math
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib import animation
from matplotlib.colors import rgb2hex
fig, ax = plt.subplots()
ax.axis("equal")
ax.set_xlim(-10, 10)
ax.set_ylim(-5, 5)
ax.axis("off")
state_nodes = [Circle(center, 0.2, color='k') for center in np.random.normal(loc=0, scale=1, size=(5,2))]
for state in state_nodes:
ax.add_artist(state)
def animate(i, states):
c = (i/255)
for state in states:
dx,dy = np.random.normal(loc=0, scale=0.1, size=(2,))
x,y = state.get_center()
state.set_center((x+dx,y+dy))
state.set_color(rgb2hex((c,c,c)))
return states
ani = animation.FuncAnimation(fig, animate, fargs = (state_nodes,), frames=201, interval=25, blit=True, repeat = False)
plt.show()
