Example #1
0
    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')
Example #2
0
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)