Как убрать строки в анимации Matplotlib? - PullRequest
0 голосов
/ 05 мая 2019

Я хочу удалить график в анимации, когда текстовая строка больше 19 строк.

Мой код ссылается на это видео Если текстовая строка больше 19 строк, график удаляется.

Я использовал remove() и del, но это не работает, потому что использование remove() и del в этом коде не приведет к автоматическому удалению графика.

Когда текстовая строка содержит более 19 строк, график удаляется при повторном выполнении matplotlib.

Я также пытался использовать plt.cla, plt.clf, но это ... удалениеярлык тоже .. я не хочу удалить ярлык и заголовок

как я могу это исправить?.

Вот мой код:

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
plt.xlim(-190,190)
plt.ylim(-190,190)

def animate(i):
    graph_data = open('data.txt', 'r').read()    
    lines = graph_data.split('\n') 
    xs = []
    ys = []

    for line in lines:
        if len(line) > 1:
            x, y = line.split(',') 
            xs.append(x)
            ys.append(y)

    ax1.plot(xs, ys, 'r')

    if (graph_data.count(' \n')+1) >=19: 
       ax1.lines[0].remove() 
       ##del ax1.lines[0] 
       ##plt.cla()

ani = animation.FuncAnimation(fig, animate,interval=1, frames=2, repeat=True)
plt.show()

1 Ответ

0 голосов
/ 05 мая 2019

Попробуйте присвоить значение переменной функции подсчета строк следующим образом:

return_value = graph_data.count(' \n')+1

Распечатайте это значение и посмотрите, правильно ли работает функция подсчета при добавлении строк надеюсь это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...