如何使用pandas / Geopandas在animation.FuncAnimation()中添加计时器?

时间:2018-04-11 13:24:22

标签: python pandas animation timer geopandas

我正在使用GeoPandas创建一个动画,一切进展顺利但是我想要包含一个计时器,以便知道与我的可视化相对应的时间。

我认为方法是通过set_text,但我认为Geopandas在绘制的更新(ax = ax)中丢失了所有内容。

因此,指令time_text是不能处理我的代码的指令。请任何帮助/建议/想法?在此先感谢!!

这是我的代码的重要部分:

import numpy as np

from matplotlib import pyplot as plt

from matplotlib import animation

import geopandas as gpd

import pandas as pd

from shapely.geometry import Point


fig = plt.figure()

ax = plt.axes(xlim=(2.5, 7), ylim=(48, 52))

time_text = ax.text(2.8, 50.,"",transform = ax.transAxes, ha="right")

ax.legend()

t=0

bel = gpd.read_file('....')

def init(): 

    global inicio

    inicio = bel.plot( ax=ax, color='black', markersize=5)

    time_text.set_text("")

    return inicio, time_text


data = pd.read_csv('.....')


legend = plt.legend(loc='lower left',prop={'size': 7})

def animate(i):

  global inu, iterar, t

  t += 1

  ax.clear()

  inu = bel.plot( ax=ax, color='lightgray', linewidth=1., edgecolor='black')

  cond = geo_data[ geo_data['newdate'].dt.minute == i]

  iterar = cond.plot(ax=ax,marker='s',color='yellow', markersize=7.,alpha=0.3,label='Max >= 60 Tonne');

  legend = plt.legend(loc='lower left',prop={'size': 7})

  time_text.set_text("time = "+str(t))

  return iterar,inu,time_text

anim = animation.FuncAnimation(fig, animate, init_func=init,frames=60, interval=500, blit=False)

plt.show()

0 个答案:

没有答案