Могу ли я удалить исполнителя matplotlib, например патч, с помощью блитинга?
"""Some background code:"""
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.canvas = FigureCanvas(self, -1, self.figure)
Чтобы добавить патч к графику matplotlib с помощью blit, вы можете сделать следующее:
"""square is some matplotlib patch"""
self.axes.add_patch(square)
self.axes.draw_artist(square)
self.canvas.blit(self.axes.bbox)
Это работает. Однако могу ли я использовать blit, чтобы удалить этого же исполнителя из сюжета? Мне удалось удалить его с помощью square.remove()
, и я могу обновить график с помощью функции self.canvas.draw()
. Но, конечно, это медленно, и вместо этого я хотел бы использовать блиттинг.
"""square is some matplotlib patch"""
square.remove()
self.canvas.draw()
Не работает следующее:
square.remove()
self.canvas.blit(self.axes.bbox)
square.remove()
и после этогоself.canvas.blit(self.axes.bbox)
не работает. Художник остается в сюжете. - person Zwarte Viltstift   schedule 12.03.2018