Этот код показывает ошибку атрибута:
Я строю график панели ошибок, скажем, для 10 различных наборов данных (огромных наборов данных) из файла, содержащего несколько наборов данных (скажем, для разных дней), и я показываю пользователю опцию (флажок), чтобы удалить или включить график конкретный набор данных (через GUI).
Так что для этого я просто хочу стереть текущие оси и позже хочу перерисовать его снова.
Как я могу это сделать?
Ниже приведен упрощенный пример, показывающий, что мне нужно.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(1)
x, y, yerr = np.random.rand(3,10)
l = ax.errorbar(x, y, yerr, marker='s', mfc='red', mec='green', ms=20, mew=4)
canvas = fig.canvas
canvas.draw()
bkg = canvas.copy_from_bbox(ax.bbox)
plt.show()
plt.pause(1)
ax.clear()
canvas.restore_region(bkg)
ax.draw_artist(l)
# here it throws an AttributeError: 'ErrorbarContainer'
#object has no attribute 'draw'