def __init__(self, parent=None): super(PlotWindow, self).__init__(parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.canvas = MatplotlibCanvas(self) self.ui.plotContainer.addWidget(self.canvas) self.toolbar = NavigationToolbar(self.canvas, self) self.ui.plotContainer.addWidget(self.toolbar) self.ui.buttonBox.button(QtGui.QDialogButtonBox.Reset).clicked.connect( self.reset ) self.ui.keepPrevious.clicked.connect( self.update_hold, Qt.QueuedConnection ) self.ui.layoutCombo.currentIndexChanged.connect( self.on_layout_selected ) self.ui.activeSubfigure.valueChanged.connect( self.canvas.select_subfigure ) self.resize(800, 600) self.on_layout_selected(0) self.setWindowTitle('pyfv: plot selection')
class PlotWindow(QtGui.QDialog): def __init__(self, parent=None): super(PlotWindow, self).__init__(parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.canvas = MatplotlibCanvas(self) self.ui.plotContainer.addWidget(self.canvas) self.toolbar = NavigationToolbar(self.canvas, self) self.ui.plotContainer.addWidget(self.toolbar) self.ui.buttonBox.button(QtGui.QDialogButtonBox.Reset).clicked.connect( self.reset ) self.ui.keepPrevious.clicked.connect( self.update_hold, Qt.QueuedConnection ) self.ui.layoutCombo.currentIndexChanged.connect( self.on_layout_selected ) self.ui.activeSubfigure.valueChanged.connect( self.canvas.select_subfigure ) self.resize(800, 600) self.on_layout_selected(0) self.setWindowTitle('pyfv: plot selection') def reset(self): self.canvas.reset() self.ui.activeSubfigure.setValue(0) self.ui.activeSubfigure.setMaximum(1) self.ui.layoutCombo.setCurrentIndex(0) self.update_hold() def update_hold(self): self.canvas.axes.hold(self.ui.keepPrevious.isChecked()) def on_layout_selected(self, index): self.canvas.change_layout(self.ui.layoutCombo.itemText(index)) self.ui.activeSubfigure.setMaximum(self.canvas.layoutSize) self.ui.lockActiveSubfigure.setEnabled(self.canvas.layoutSize > 1) self.ui.subfigLabel.setEnabled(self.canvas.layoutSize > 1) self.ui.cycleSubfigures.setEnabled(self.canvas.layoutSize > 1) self.ui.activeSubfigure.setEnabled(self.canvas.layoutSize > 1) self.update_hold() def active_plot(self): ax = self.canvas.axes assert isinstance(ax, plt.Axes) return ax def make_next_subplot_current(self): if self.ui.lockActiveSubfigure.isChecked(): return new = self.ui.activeSubfigure.value() + 1 if new <= self.canvas.layoutSize: self.ui.activeSubfigure.setValue(new) elif self.ui.cycleSubfigures.isChecked(): self.ui.activeSubfigure.setValue(1)