2017-04-04 79 views
-1

我想使用动画来动态显示数据,但是当我通过set_xlim()函数更改坐标轴的xlim时,坐标轴的xticklabel不会改变坐标轴移动。我该怎么做,用xlim的数据做xticklabel和tick变化? my using codematplotlib animation通过数据更改xlim,但xtick未更改

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) 

图片1时间1

图片2时间2

+0

请修改您的帖子并发送您的代码 – Dadep

回答

0

有两个问题在这里,它是很难说哪一个是负责对意外的行为:

A.您对FuncAnimation的调用没有意义。你提供3种不同的功能,而你只需要两个。一个用于动画,一个用于初始化。在大多数情况下,您甚至可以不进行初始化。但是,您没有设置框架的参数。所以认为应该动画到animate把一切,删除data_updateframes提供一个参数:

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

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