Python 未更新的图形(matplotlib)

Python 未更新的图形(matplotlib),python,matplotlib,pyside,Python,Matplotlib,Pyside,我正在尝试制作一个包含多个图形的GUI,每个图形都有一个轴,是“轴”的复数形式?。在初始化相应的小部件时,我使用这一行设法得到了最左边的图形: self.leftImage = self.leftPlot.axes.imshow(self.defaultSlide, cmap = self.mymap) 其中self.leftPlot包含必要的地物属性。我注意到我不必为这个部分调用plt.show或它的变体,我不知道它是否重要 在代码的后面部分,我调用了self.leftImage.s

我正在尝试制作一个包含多个图形的GUI,每个图形都有一个轴,是“轴”的复数形式?。在初始化相应的小部件时,我使用这一行设法得到了最左边的图形:

    self.leftImage = self.leftPlot.axes.imshow(self.defaultSlide, cmap = self.mymap)
其中self.leftPlot包含必要的地物属性。我注意到我不必为这个部分调用plt.show或它的变体,我不知道它是否重要

在代码的后面部分,我调用了self.leftImage.set_datanewSlide,但似乎没有任何变化,即使它确实被执行了。我尝试将leftImage设置为imshow的一个新实例,但似乎没有解决任何问题

我的进口:

from PySide import QtCore, QtGui
from PySide.QtCore import *
from PySide.QtGui import *
import matplotlib

matplotlib.use('Qt4Agg')
matplotlib.rcParams['backend.qt4']='PySide'

from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
import matplotlib.pyplot as plt
我对matplotlib相当陌生,但如果有帮助的话,我确实来自MATLAB背景。

您应该在对set_数据进行更新后立即使用draw


有关详细信息,请参阅此相关帖子

在更新后立即调用plt.draw没有任何作用。老实说,我不完全确定它一开始是做什么的,因为第一个图像似乎显示时没有调用imshow以外的任何东西。好吧,显然调用self.leftPlot.draw实际上起到了一些作用。但现在它就像是情节本身有某种“印记”效应,就像之前的修改似乎保留了,尽管更新了图表。我不确定问题出在哪里,但我认为这是另一个问题。我会接受你的帖子,因为你是这里唯一的人。@david的网站上有一些信息教程,特别是关于感谢你的链接,但我发现这只是一个疏忽。我刚刚不得不调用np.copy,因为我忘记了数组在Python中是可变的。@david,否则您可能需要调用.remove之类的函数,以便在您提供的代码示例中,它看起来像self.leftImage.remove