2

我用来matplotlib.animation为名为arr. 我使用库从 h5 文件中读取数据h5py,一切正常。但是在使用动画时,颜色图卡在数据范围的第一帧中,经过一些步骤后,它在绘图时显示非标准化颜色。

这是我的代码:

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()
4

1 回答 1

6

我想你想set_clim()

p.autoscale()

没有参数,set_clim()是无操作的。

也就是说,在动画中间更改颜色比例似乎非常具有误导性。

您还应该使用set_data而不是set_array(根据文档)。

于 2013-05-20T20:22:38.073 回答