Python和科学计算认证群组  - 讨论区

标题:animation使用pcolormap出现的问题

2013年03月18日 星期一 19:01

def update(n, img):

    data = xt[n%niter,:,:]

    img.set_array(data.ravel())

    return img,


#xt是个三维数组

gridx = pl.arange(0., 402., 2.)

gridz = pl.arange(-400., 2., 2.)

x, z = pl.meshgrid(gridx, gridz)

base = xt[0,:,:]

fig2 = pl.figure()

img = pl.pcolormesh(x, z, base)

img.set_array(base.ravel())

 

im_ani = FuncAnimation(fig2, update,

        fargs=(img,),

        interval=400,

        blit=True)

现在的问题是,做出来的图数值上下限是固定的,就好像按照第一张图的上下限设定了pcolormesh的vmin,vmax一样,怎么解决?
另外一个问题是我怎么在图上能显示n的变化?

2013年03月18日 星期一 20:48

那你希望上下限如何变化?是根据每一幅图自动变化,还是手工设置一个上下限?

如果是手工设置的话,那么pcolormesh有vmin和vmax参数可以设置,如果是自动变化的话:

调用img.set_array之后,再调用img.set_clim(vmin, vmax),vmin和vmax是你希望的上下限,可以从数据算出。

你要在图上显示文字的话,用pl.text()。然后在循环中修改文字:

text = pl.text(10, 20, "")

在update中

text.set_text("%d" % (n%niter))

return img, text

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号