plt.plot(x,y)
возвращает список Line2D
объектов.Вы храните этот список в переменной p
.Как говорит ошибка, 'list' object has no attribute 'show'
.Это можно понимать буквально, потому что show()
- это функция в модуле matplotlib.pyplot
, а любой нормальный питон list
даже не знает о существовании matplotlib.
Конечно, вы можете сохранять список в переменной, но для отображения графика вам нужно использовать plt.show()
независимо от того, где вы сохранили возврат любых команд построения
import matplotlib.pyplot as plt
p = plt.plot(x,y)
plt.show()