Моя цель состоит в том, чтобы рисовать анимированные фигуры Лиссажу, одновременно анимированные с помощью модуля matplotlib animation , однако я не могу контролировать все вспомогательные сюжеты. Я хотел использовать как можно меньше кода и поэтому повторялся в некоторыхдля петель, чтобы построить столько фигур, сколько я хочу, в очень аккуратном и быстром.Вот мой код:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation as an
fig, ax = plt.subplots(nrows=3, ncols=3)
lines = np.array([[i.plot([], []) for i in ax[j]] for j in range(len(ax))])
for i in range(len(lines)):
for j in range(len(lines[i])):
axnow = ax[i][j]
axnow.set_xlim(-1, 1)
axnow.set_ylim(-1, 1)
xdata = [[[] for i in range(3)] for j in range(3)]
ydata = [[[] for i in range(3)] for j in range(3)]
def animate(frame):
w = 1
for i in range(len(lines)):
for j in range(len(lines[i])):
xdata[i][j].append(np.cos(w * frame))
ydata[i][j].append(np.sin(1 * frame))
line = lines[i][j][0]
line.set_data(xdata[i][j], ydata[i][j])
w += 1
return lines
an.FuncAnimation(fig, animate, blit=True, frames=np.linspace(0, 2 * np.pi, 1000), repeat=False,
interval=20)
plt.tight_layout()
plt.show()
Однако на самом деле ничего не отображается, и я не знаю, где моя ошибка.Любая помощь приветствуется.