Ejemplo n.º 1
0
    def plotLightCurve(self, star):
        # clears anything that's already there
        self.clearLightCurve()
        self.clearText()
        self.showText(star)
        fluxes = []
        times = self._app._timeInput.timeValues
        # get the fluxes from the table
        i = 1
        while i <= len(times):
            fluxes.append(self.starTable[star]["flux" + str(i)])
            i += 1

        # plot the figure and set axis etc
        fig = Figure()
        fig.set_size_inches(5, 4, forward=True)
        self.a = fig.add_subplot(111)
        self.a.plot(times, fluxes, '-x')

        self.a.set_title("Light Curve for star " + str(star + 1), fontsize=11)
        self.a.set_ylabel("Change in Magnitude", fontsize=10)
        self.a.set_xlabel("Time (days)", fontsize=10)
        # rotate y axis numbers so it fits better
        for tick in self.a.get_yticklabels():
            tick.set_rotation(65)
        fig.align_xlabels()
        self.a.tick_params(axis='x', labelsize=8)
        self.a.tick_params(axis='y', labelsize=8)

        self.lightCurve = FigureCanvasTkAgg(fig, master=self._app)
        self.lightCurve.get_tk_widget().place(relx=0.4, rely=0.4)
        self.lightCurve.draw()
Ejemplo n.º 2
0
class Ui_Form_linecut(QDialog):
    def __init__(self, data):
        super(Ui_Form_linecut, self).__init__()
        self.setObjectName("Form")
        self.resize(874, 726)
        self.data = data
        self.horizontalLayout = QtWidgets.QHBoxLayout(self)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.cmap = 'RdBu'
        self.width = 8
        self.height = 8
        self.dpi = 100
        self.fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
        self.canvas = FigureCanvas(self.fig)
        self.ax = self.fig.add_subplot(111)
        self.ax.pcolormesh(data, cmap=self.cmap)
        self.ax.axis('off')
        self.font1 = {'family': 'Arial', 'weight': 'normal', 'size': 22}
        self.ax.tick_params(labelsize=22)
        self.fig.align_xlabels()
        self.canvas.draw()
        self.line = Line2D((0, 0), (0, 0),
                           color='red',
                           linewidth=2,
                           linestyle='solid')
        self.ax.add_line(self.line)
        self.ax.figure.canvas.mpl_connect('button_press_event', self.on_press)
        self.ax.figure.canvas.mpl_connect('button_motion_event',
                                          self.on_motion)
        self.ax.figure.canvas.mpl_connect('button_release_event',
                                          self.on_release)
        self.retranslateUi(self)
        self.horizontalLayout.addWidget(self.canvas)
        QtCore.QMetaObject.connectSlotsByName(self)

    def on_press(self, event):
        self.x0 = int(event.xdata)
        self.y0 = int(event.ydata)
        self.x1 = int(event.xdata)
        self.y1 = int(event.ydata)
        #self.line=Line2D((self.x0,self.x1),(self.y0,self.y1),color ='red',linewidth=2,linestyle='solid')

    def on_motion(self, event):
        if self.on_press is True:
            return
        self.x1 = int(event.xdata)
        self.y1 = int(event.ydata)
        #self.line=Line2D((self.x0,self.x1),(self.y0,self.y1),color ='red',linewidth=2,linestyle='solid')
    def on_release(self, event):
        self.x1 = int(event.xdata)
        self.y1 = int(event.ydata)
        self.line = Line2D((self.x0, self.x1), (self.y0, self.y1),
                           color='red',
                           linewidth=2,
                           linestyle='solid')
        self.XPoint = [int(self.x0), int(self.x1)]
        self.YPoint = [int(self.y0), int(self.y1)]
        self.ax.add_line(self.line)
        self.line.set_visible(True)
        self.ax.figure.canvas.draw()

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Cut_Figure"))