Отображать только последний маркер на Pyplot при построении живых данных с помощью FuncAnimation - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь построить движущуюся частицу, используя FuncAnimation, читая файл CSV, который обновляется каждые 10 секунд. Файл CSV открывается в режиме записи, поэтому данные перезаписываются на каждой итерации. Я пытался использовать plt.cla () перед plt.plot ().

Тем не менее, предыдущие точки данных остаются на графике, и он отображает непрерывный ряд вместо одной точки данных, которую я хочу отображать в каждой итерации. Как я могу обойти это?

Вот фрагмент того, что я пытался:

 def anim(self):

    sdata = pd.read_csv('datas.csv')
    xs = sdata['xs']
    ys = sdata['ys']

    for i in range(0,3):
        tdata = pd.read_csv('datat{}.csv'.format(i))
        xt1 = tdata['xt']
        yt1 = tgtdata['yt']
        plt.cla()
        plt.plot(xs,ys, marker=(5,0,30), markersize=6, linestyle='none', color='b')
        plt.plot(xt1,yt1,marker=(3,0,180), markersize=6, linestyle='none', color='r')

  updt = FuncAnimation(plt.gcf(),anim,interval=6000)
  ax.set_axis_off()
  plt.grid(False)
  plt.gca().set_aspect('equal', adjustable='box')
  # plt.rcParams['figure.figsize'] = [6.4,6.4]
  plt.show()

Спасибо!

...