Моя проблема:
У меня есть фигура Matplotlib в приложении PyGTK, которая постоянно обновляется каждые несколько секунд. Я добавил возможность сохранять фигуру на диск в формате PNG. После вызова figure.savefig(filename, other parameters)
моя фигура в приложении перестает обновляться.
Фаза инициализации рисунка:
# setup matplotlib stuff on empty space in vbox4
figure = Figure()
canvas = FigureCanvasGTK(figure) # a gtk.DrawingArea
canvas.show()
self.win.get_widget('vbox4').pack_start(canvas, True, True) # this will be aded to last place
self.win.get_widget('vbox4').reorder_child(canvas, 1) #place plot to space where it should be
Рисунок обновляется таким образом (он вызывается каждые несколько секунд в отдельном потоке):
def _updateGraph(self, fig, x, x1, y):
#Various calculations done here
fig.clf()#repaint plot: delete current and formate a new one
axis = fig.add_subplot(111)
#axis.set_axis_off()
axis.grid(True)
#remove ticks and labels
axis.get_xaxis().set_ticks_position("none")
for i in range(len(axis.get_xticklabels())): axis.get_xticklabels()[i].set_visible(False)
axis.get_yaxis().set_ticks_position("none")
axis.plot(numpy.array(x),numpy.array(y)/(1.0**1), "k-" ,alpha=.2)
axis.set_title('myTitle')
fig.autofmt_xdate()
fig.canvas.draw()
все работает как положено. Но после звонка:
figure.savefig(fileName, bbox_inches='tight', pad_inches=0.05)
Файл был сохранен, НО моя фигура на экране перестает обновляться .
Есть какие-нибудь идеи, как сохранить фигуру на диск и при этом иметь возможность обновлять мою фигуру на экране?