Некоторое время я использовал matplotlib для создания графиков, но только что обнаружил параметры animation
. Я хочу показать серию графиков (а не только отдельные элементы) в анимации, используя animation.ArtistAnimation
.
К сожалению, я не могу заставить его анимировать несколько построенных элементов за раз. Вот минимальный пример, объясняющий, что я имею в виду:
import random
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure()
ims = []
for _ in range(10):
im1, = plt.plot([random.randrange(10), random.randrange(10)], [random.randrange(10), random.randrange(10)])
im2, = plt.plot([random.randrange(10), random.randrange(10)], [random.randrange(10), random.randrange(10)])
ims.append((im1,))
ims.append((im2,))
ani = animation.ArtistAnimation(fig, ims)
ani.save('im.mp4')
Это случайным образом генерирует две строки im1
, im2
10x. Я всегда хочу видеть и im1
, и im2
одновременно. Но это показывает только одну строку за раз. Если я прокомментирую ims.append((im1,))
, фон будет заполнен stati c строками, но он по-прежнему просто анимирует одну строку. Я также пытался объединить im1
и im2
, используя im1 + im2
или [im1, im2]
, но оба приводят к ошибкам.
Дополнительный вопрос: есть ли причина, по которой blit=False
по умолчанию? Подумал, это должно улучшить производительность?