如果初始幀中的所有條目都包含相同的值,我似乎無法獲得圖像的TimedAnimation
動畫以顯示任何內容。例如,如果指定的行保留註釋,則以下內容不會顯示任何內容。更改第一幀以包含np.ones(self.shape)
也沒有任何作用。matplotlib如果第一幀中的所有條目都是相同的,則不顯示圖像動畫
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as anim
class MyAnimation(anim.TimedAnimation):
def __init__(self):
fig = plt.figure()
self.shape = (10, 10)
data = np.zeros(self.shape)
# data.flat[0] = 1 # uncomment this to get the animation to display
self.ax = plt.imshow(data)
super(self.__class__, self).__init__(fig, interval=50, blit=True)
def _draw_frame(self, framedata):
data = np.random.rand(*self.shape)
self.ax.set_data(data)
def new_frame_seq(self):
return iter(range(100))
ani = MyAnimation()
關閉blitting似乎沒有任何效果。改變後端似乎也沒有任何區別;我試過Qt4Agg和nbagg(後者通過Jupyter notebook 4.1.0),結果相同。我在Python 2.7.11中使用numpy 1.10.4和matplotlib 1.5.1。
是否預期了上述行爲?如果不是,當我的第一幀是空白或實心圖像時,我應該做些什麼來讓動畫顯示?
如果你明確地將'vmin'和'vmax'傳遞給'imshow',它會起作用嗎? – tacaswell