Я пытаюсь обновить эту группу графиков. Он состоит из 5 вспомогательных участков: ax_main , который является imshow (), ax_x и ax_x1 - это графики в верхнем правом углу и ax_y и ax_y1 являются нижними. Я хочу обновить эти строки и для этого у меня есть этот раздел кода:
# update data
# Save the background
self.canvas.x_pos_line.set_ydata(self.canvas.xresults)
self.canvas.y_pos_line.set_ydata(self.canvas.yresults)
self.canvas.x_sens_line.set_ydata(self.canvas.sensitivity_x)
self.canvas.y_sens_line.set_ydata(self.canvas.sensitivity_y)
self.canvas.ax_x1.set_ylim(np.min(self.canvas.sensitivity_x), np.max(self.canvas.sensitivity_x))
self.canvas.ax_y1.set_ylim(np.min(self.canvas.sensitivity_y), np.max(self.canvas.sensitivity_y))
backgrounds = [self.canvas.fig.canvas.copy_from_bbox(ax.bbox) for ax in self.canvas.fig.axes]
for background in backgrounds:
self.canvas.fig.canvas.restore_region(background)
self.canvas.ax_main.draw_artist(self.canvas.im_main)
self.canvas.ax_main.draw_artist(self.canvas.scat)
self.canvas.ax_x.draw_artist(self.canvas.x_pos_line)
self.canvas.ax_x1.draw_artist(self.canvas.x_sens_line)
self.canvas.ax_y.draw_artist(self.canvas.y_pos_line)
self.canvas.ax_y1.draw_artist(self.canvas.y_sens_line)
self.canvas.fig.canvas.blit(self.canvas.ax_main.bbox)
self.canvas.fig.canvas.blit(self.canvas.ax_x.bbox)
self.canvas.fig.canvas.blit(self.canvas.ax_x1.bbox)
self.canvas.fig.canvas.blit(self.canvas.ax_y.bbox)
self.canvas.fig.canvas.blit(self.canvas.ax_y1.bbox)
объект self.canvas моего создания, и он не имеет ничего общего с matplotlib fig.canvas . Я ожидал, что синие и красные линии будут заменены новыми. Есть идеи, почему это происходит? У меня нет solid гр asp того, что делает restore_region , но я также не могу найти его документацию в Интернете.