0
我使用matplotlib.animation
來爲名爲arr
的3D數組中的數據設置動畫效果。我使用h5py
庫從h5文件讀取數據,一切正常。但是在使用動畫時,色彩映射卡在數據範圍的第一幀中,並且在執行一些步驟後,它會在繪圖時顯示未標準化的顏色。在matplotlib中使用動畫的顏色映射問題
這裏是我的代碼:
import numpy as np
import h5py
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import matplotlib.cm as cm
f = h5py.File('ez.h5','r')
arr = f["ez"][:,:,:]
f.close()
fig = plt.figure()
i = 0
p = plt.imshow(arr[:,:,0], interpolation='bilinear', cmap=cm.RdYlGn)
def updatefig(*args):
global i
i += 1
if (i==333):
i = 0
p.set_array(arr[:,:,i])
plt.clim()
return p,
ani = animation.FuncAnimation(fig, updatefig, interval=50, blit=True)
plt.show()
@VahidG如果它解決了你的問題,你可以接受它(答案左側的灰色複選框)?它將標誌着問題的解決,並給予我們雙方的聲譽。 – tacaswell
感謝您的整齊和有益的答案!它解決了我的問題。 我認爲自動縮放()隻影響軸限制,並且對色彩映射沒有影響,但我錯了。 爲什麼你更喜歡set_data set_array(我找不到任何區別)? – VahidG
'set_array'將在未來某個時候折舊。 'set_array'其實只是調用'set_data' https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/image.py#L429 – tacaswell