matplotlib动画通过数据更改xlim但xtick不会更改

时间:2017-04-04 16:23:15

标签: python animation matplotlib

我想使用动画来动态显示数据,但是当我通过set_xlim()函数更改轴的xlim时,轴的xticklabel不会随着时间的推移而变化。我怎么做,用xlim的数据制作xticklabel和tick更改? my using code

def data_update():
    .......
    axes1.set_xlim(limx_min,limx_max)
    ......`
    return .....,axes1

def animate(data):
    ......`
    return .....,axes1

anim1 = animation.FuncAnimation(fig,animate,data_update,init_func = init,interval = 26,blit = True )

picture1 time1

picture2 time2

1 个答案:

答案 0 :(得分:0)

这里有两个问题,很难说哪一个是造成不良行为的原因:

A。您对FuncAnimation的调用没有意义。您提供3种不同的功能,而您只需要两种功能。一个用于动画,一个用于初始化。在大多数情况下,您甚至可以退出初始化。但是,您没有设置框架的参数。因此,请考虑将应该设置为动画的所有内容放入animate,删除data_update并为frames提供参数:

animation.FuncAnimation(fig,animate,frames=100, init_func = init,interval = 26)

B。你可能会考虑不使用blitting。在动画中设置blit = False。 如果你真的需要blitting,你需要在问题中提供一个最小的例子,以确保它正常工作。