Как удалить кривую из графика PLT? - PullRequest
1 голос
/ 17 апреля 2020

В данный момент у меня есть гистограмма с кривой, расположенной поверх нее (что-то вроде аппроксимации), и я хочу обновить эту кривую, изменив некоторые параметры. На данный момент, когда я обновляю кривую, график просто др aws другой кривой. Итак, как мне удалить старую кривую?

Примером этого может быть следующий:

x1 = np.array([1,2,3,4,5])
x2 = np.array([0,1,2,3,4])
y = np.array([1,2,3,4,5])

fig,ax=plt.subplots()
ln1 = plt.plot(x1,y)
ln2 = plt.plot(x2,y)

Этот код будет производить две параллельные строки. Итак, допустим, что я хочу удалить ln1. Как мне это сделать?

Есть еще один пост, похожий на этот, но ни один из ответов, похоже, не работает для меня. Я пробовал это, но они не работают:

ln1.remove ()

ax.lines.remove (ln1)

1 Ответ

0 голосов
/ 17 апреля 2020

ln1 не сам объект строки, а список строк. Если вы хотите удалить объект линии, вы сначала должны получить его

line = ln1[0]

удалить его

line.remove()

, а затем перерисовать фигуру (потенциально):

fig.canvas.draw()

Если вы просто хотите изменить значения, @ Johan C предложение использовать line.set_data(x3, y), вероятно, самый быстрый в вычислительном отношении способ сделать это.

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