анимация matplotlib не анимируется с помощью imshow - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь оживить несколько простых сюжетов с помощью imshow, но, очевидно, есть проблема.

Это небольшая демонстрация моей проблемы:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import animation    

fig,axs=plt.subplots(2,5,figsize=(10,4))
imgs=[]

for row in axs:
    for col in row:
        col.set_xlim(4.5,-.5)
        col.set_ylim(4.5,-.5)
        col.set_xticks([])
        col.set_yticks([])

        #line A
        imgs.append(col.imshow([[]],animated=1))
        #freezes the animation([[]] is just a placeholder)

        #line B
        #imgs.append(col.imshow(np.arange(25).reshape((5,5)),animated=1))
        #animation does work if the above line is used instead

def func(frm):
    for i in range(10):
        imgs[i].set_array(np.arange(25).reshape(5,5)*np.log10(frm+1))
    return imgs
anim=animation.FuncAnimation(fig,func,10,interval=100)
plt.show()

Если я использую строку Aанимация зависает, как будто func не выполняется (хотя на самом деле это так), не вызывая ошибок.Если вместо этого используется строка B, анимация работает.Я что-то упускаю из-за анимации imshow ?

...