图表未更新(matplotlib)

时间:2015-07-07 13:30:23

标签: python matplotlib pyside

我试图制作一个包含多个图形的GUI,每个图形都有一个轴(是'轴'复数?)。我设法在使用以下行初始化相应的小部件时绘制最左边的图:

    self.leftImage = self.leftPlot.axes.imshow(self.defaultSlide, cmap = self.mymap)

其中self.leftPlot包含必要的图形属性。我注意到我没有为此部分打电话plt.show()或其变体,我不知道它是否重要。

稍后在代码中,我调用self.leftImage.set_data(newSlide),但似乎没有任何改变,即使它肯定会被执行。我尝试将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背景。

1 个答案:

答案 0 :(得分:0)

您应该在更新后使用draw()(使用set_data()完成)。

有关详细信息https://stackoverflow.com/a/17837600/4716013

,请参阅此相关帖子