예제 #1
0
    def __init__(self, device):
        super().__init__()
        self.n = 1
        self.id = 1
        self.bar = 0
        self.countLine = 0
        self.device = device
        matplotlib.rcParams['font.family'] = ['SimHei']  # 用来正常显示中文标签
        matplotlib.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
        layout = QtWidgets.QVBoxLayout(self)
        self.freqCanvas = FigureCanvas(Figure(figsize=(9, 6)))

        # 添加工具栏
        self.toolbar = NavigationToolbar(self.freqCanvas, self)
        layout.addWidget(self.toolbar)
        layout.addWidget(self.freqCanvas)

        self.axs = self.freqCanvas.figure.subplots(2, 1, sharex=True)

        self.axs[0].set_xlim(150, 200)
        self.axs[0].set_ylim(-100, -70)
        self.axs[1].set_xlim(150, 200)
        self.axs[1].set_ylim(-100, 0)
        # while True:
        #     if os.path.exists('D:\\postgraduate_program\\48recv\\%s\\1.dat'%self.device):
        #         self.n+=1# self.n=1
        #         line = self.draw(self.n)
        #         break

        norm = matplotlib.colors.Normalize(-120, -60)
        # self.freqCanvas.figure.colorbar(line, ax=self.axs[1], norm=norm, orientation='horizontal')
        self.freqCanvas.figure.canvas.mpl_connect('button_press_event',
                                                  self.drawFreq)
        self.start = QtWidgets.QPushButton('start')
        self.stop = QtWidgets.QPushButton('stop')

        layout.addWidget(self.start)
        layout.addWidget(self.stop)

        self.start.clicked.connect(self._start)
        self.stop.clicked.connect(self._stop)

        # 定时任务
        self._timer = self.freqCanvas.new_timer(1000, [(self._update_canvas,
                                                        (), {})])
    def _set_matplot_layout(self):
        self.figure = plt.figure()
        self.canvas = FigureCanvas(self.figure)
        self.ax = Axes3D(self.figure)
        matplotlib.rcParams["font.family"] = "STSong"

        self.toolbar = NavigationToolbar(self.canvas, self.c_widget)

        # self.cbx_equal = QCheckBox("等比例坐标")
        # self.cbx_equal.stateChanged.connect(lambda: self._equal_state())
        self.cbx_detail = QCheckBox("显示表面细节")
        self.cbx_detail.stateChanged.connect(lambda: self._show_detail())

        self.left_layout.addWidget(self.canvas)
        # self.left_layout.addWidget(self.cbx_equal)
        # 目前Axes3D尚不支持等比例坐标
        self.left_layout.addWidget(self.cbx_detail)
        self.left_layout.addWidget(self.toolbar)
예제 #3
0
    def __init__(self, parent=None):

        super(QTabRawData, self).__init__(parent=None)

        self.main_widget = QStackedWidget(self)

        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        main_layout = QVBoxLayout(self.main_widget)
        self.plot = plot(self.main_widget,
                         width=PLOT_WIDTH,
                         height=PLOT_HEIGHT,
                         dpi=100)
        self.navi_toolbar = NavigationToolbar(self.plot, self)
        main_layout.addWidget(self.navi_toolbar)
        main_layout.addWidget(self.plot)

        self.setLayout(main_layout)
예제 #4
0
    def __init__(self, path):
        super().__init__()
        self.path = path
        matplotlib.rcParams['font.family'] = ['SimHei']  # 用来正常显示中文标签
        matplotlib.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
        layout = QtWidgets.QVBoxLayout(self)
        self.freqCanvas = FigureCanvas(Figure(figsize=(9, 6)))

        # 添加工具栏
        self.toolbar = NavigationToolbar(self.freqCanvas, self)
        layout.addWidget(self.toolbar)
        layout.addWidget(self.freqCanvas)

        self.axs = self.freqCanvas.figure.subplots(1, 1)

        # self.axs.set_xlim(150, 200)
        # self.axs.set_ylim(-100, -70)
        self.draw()
예제 #5
0
    def __init__(self, parent=None):
        super().__init__(parent)

        plt.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体
        plt.rcParams['axes.unicode_minus'] = False

        self.figure = Figure((5.0, 4.0), dpi=100)

        self.canvas = FigureCanvas(self.figure)
        self.canvas.setParent(self)
        self.toolbar = NavigationToolbar(self.canvas, self)

        self.textbox = QLineEdit()
        self.textbox.setMinimumWidth(200)

        vbox = QVBoxLayout(self)
        vbox.addWidget(self.toolbar)
        vbox.addWidget(self.canvas)
예제 #6
0
    def __init__(self, parent=None):

        super(QTabMultipleResidualsShape, self).__init__(parent=None)

        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.main_widget = QWidget(self)

        self.in_or_out = 'IN'
        self.folders = []

        main_layout = QVBoxLayout(self.main_widget)
        self.plot = plot(self.main_widget, width=6.5, height=6, dpi=100)
        self.navi_toolbar = NavigationToolbar(self.plot, self)
        main_layout.addWidget(self.navi_toolbar)
        main_layout.addWidget(self.plot)

        self.setLayout(main_layout)
예제 #7
0
    def kMeansPlot(self):
        if self.kEdit.text() == "":
            QMessageBox.warning(self, "警告", "请输入分类个数", QMessageBox.Ok)
            return

        self.kButton.setEnabled(False)

        # 替换掉旧的Canvas
        self.newMpl = KMeansCanvas(self)
        self.newNplNtb = NavigationToolbar(self.newMpl, self)
        self.mainLayout.replaceWidget(self.mpl, self.newMpl)  # 替换控件
        self.mainLayout.replaceWidget(self.newNplNtb, self.mplNtb)
        del self.mpl, self.mplNtb
        self.mpl = self.newMpl
        self.mplNtb = self.newNplNtb

        # 开始画KMeans结果
        self.mpl.kMeansPlot(self.dataSet, int(self.kEdit.text()), self.statusBar(), self.kButton)
예제 #8
0
    def deletion_ratio(self, sample, reg, regPAM):

        self.button = QPushButton('Color', self)

        self.button.move(20, 20)

        self.figure = plt.figure(figsize=(8, 6))
        self.canvas = FigureCanvas(self.figure)
        self.toolbar = NavigationToolbar(self.canvas, self)

        self.layout = QtWidgets.QVBoxLayout()
        self.layout.addWidget(self.toolbar)
        self.layout.addWidget(self.canvas)
        self.layout.addWidget(self.button)

        glabels = list(reg.fillna(" ").label)

        self.button.clicked.connect(
            lambda: self.showDialog(sample, reg, regPAM))
        self.ax = self.figure.add_subplot(111)
        self.ax.bar(reg.index, reg.ratio, color='blue')
        self.ax.set_title(sample, fontdict={'family': 'Arial'}, size=15)
        # print(self.seqlistother)
        # print(self.seqlistother[1])
        self.ax.set_xticks(reg.index, minor=True)
        self.ax.set_xticklabels(glabels,
                                color="black",
                                minor=True,
                                fontdict={
                                    'family': 'Arial',
                                    'weight': 'bold'
                                },
                                size=12)  # minor=True表示次坐标轴
        self.ax.set_xticks(regPAM.index)
        self.ax.set_xticklabels(regPAM.label,
                                color="red",
                                fontdict={
                                    'family': 'Arial',
                                    'weight': 'bold'
                                },
                                size=12)
        plt.ylabel('Deletion Ratio (%)', fontdict={'family': 'Arial'}, size=15)
        self.setLayout(self.layout)
        self.show()
예제 #9
0
    def __init__(self, parent=None):

        super(QTabPosition, self).__init__(parent=None)

        self.main_widget = QWidget(self)

        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        main_layout = QVBoxLayout(self.main_widget)
        self.ax1 = ecc_plot(self.main_widget, width=9, height=6, dpi=100)
        self.navi_toolbar = NavigationToolbar(self.ax1, self)
        main_layout.addWidget(self.navi_toolbar)
        main_layout.addWidget(self.ax1)

        self.positions_IN = 0
        self.positions_OUT = 0

        self.time_IN = 0
        self.time_OUT = 0
예제 #10
0
    def GraphUtilGaussianFitGraphs(self, name, x, y, error, xLabel, yLabel, whichGraph):
        """Generic plotting method that plots depending on which graph is being plotted.
        :param canvas: canvas for widget
        :param fig: figure for graph
        :param name: name of tab
        :param x: x-values
        :param y: y-values
        :param error: error values for gaussian fit graphs
        :param xLabel: x-axis label
        :param yLabel: y-axis label
        :param whichGraph: char that represents either gaussian or lattice fit
        """
        mainGraph = qtWidgets.QWidget()
        fig = plab.Figure((5.0, 4.0), dpi=100)
        canvas = FigureCanvas(fig)

        canvas.setParent(mainGraph)
        axes = fig.add_subplot(111)

        axes.plot(x, y)
        print(y)
        print("Fitted Data")
        print(name)
        if whichGraph == 'G':
            axes.errorbar(x, y, yerr=error, fmt='o')
        elif whichGraph == 'L':
            axes.plot(x, y, 'go')
            axes.yaxis.set_major_formatter(plab.FormatStrFormatter('%.4f'))

        axes.set_title(name)
        axes.set_xlabel(xLabel)
        axes.set_ylabel(yLabel)
        canvas.draw()

        tab = qtWidgets.QWidget()
        tab.setStatusTip(name)
        vbox = qtWidgets.QVBoxLayout()
        graphNavigationBar = NavigationToolbar(canvas, mainGraph)
        vbox.addWidget(graphNavigationBar)
        vbox.addWidget(canvas)
        tab.setLayout(vbox)

        self.myMainWindow.savingCanvasTabs(tab, name, canvas, fig)
    def __init__(self):
        QMainWindow.__init__(self)
        QMainWindow.resize(self,1500,900)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        self.setWindowTitle("application main window")
        self.main_widget = QtWidgets.QWidget(self)
 
        vbox = QtWidgets.QVBoxLayout(self.main_widget)
        # set canvas size
        self.canvas = MyMplCanvas(self.main_widget,width=12, height=12)
        self.mpl_toolbar = NavigationToolbar(self.canvas, self)

        vbox.addWidget(self.mpl_toolbar)
        vbox.addWidget(self.canvas)
 
        self.textBrowser = QTextBrowser(self)

        vbox.addWidget(self.textBrowser)

        self.setLayout(vbox)
        # make the cursor always focus the newset line
        self.textBrowser.textChanged.connect(lambda:self.textBrowser.moveCursor(QtGui.QTextCursor.End))
 
        self.main_widget.setFocus()
        self.setCentralWidget(self.main_widget)
        # dynamic update the plot
        self.plot1 = animation.animation1Class(self.canvas, self)
        self.plot1.start()
        # dynamic update the plot
        self.plot2 = animation.animation2Class(self.canvas, self)
        self.plot2.start()
        # dynamic update the plot
        self.plot3 = animation.animation3Class(self.canvas, self)
        self.plot3.start()
        # read data thread
        self.read = read.readClass(self)
        self.read.start()
        # simulate send date0 thread
        self.sendtest0 = sendtest0.sendClass()
        self.sendtest0.start()
        # simulate send data1 thread
        self.sendtest1 = sendtest1.sendClass()
        self.sendtest1.start()
예제 #12
0
    def __init__(self,
                 parent=None,
                 width=5,
                 height=8,
                 dpi=100,
                 matrixModel=[],
                 title='',
                 point=[]):
        fig = Figure(figsize=(width, height), dpi=dpi)
        self.axes = fig.add_subplot(111)
        self.title = title
        self.Plot(matrixModel, title, point)

        FigureCanvas.__init__(self, fig)
        self.mpl_toolbar = NavigationToolbar(self, parent)
        self.setParent(parent)

        FigureCanvas.setSizePolicy(self, QSizePolicy.Expanding,
                                   QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)
예제 #13
0
    def _init_ui(self):
        self.setWindowTitle("测试工具栏")
        self.setMinimumSize(800, 600)
        self.setMaximumSize(800, 600)

        self.central_layout = QVBoxLayout()

        self.c_widget = QWidget()
        self.c_widget.setLayout(self.central_layout)
        self.setCentralWidget(self.c_widget)

        self.figure = plt.figure()
        self.canvas = FigureCanvas(self.figure)
        self.ax = Axes3D(self.figure)
        self.toolbar = NavigationToolbar(self.canvas, self.c_widget)

        self.central_layout.addWidget(self.canvas)
        self.central_layout.addWidget(self.toolbar)

        self._draw_surface()
예제 #14
0
파일: Painter.py 프로젝트: al509/ScanLoop
    def __init__(self, parent=None):
        super().__init__(parent)

        # a figure instance to plot on
        self.figure = Figure()
        self.ax = self.figure.add_subplot(111)
        # this is the Canvas Widget that displays the `figure`
        # it takes the `figure` instance as a parameter to __init__
        self.canvas = FigureCanvas(self.figure)
        # this is the Navigation widget
        # it takes the Canvas widget and a parent
        self.toolbar = NavigationToolbar(canvas=self.canvas, parent=parent)

        # set the layout
        if parent.layout() is not None:
            parent.layout().addWidget(self.canvas)
        else:
            layout = QtWidgets.QGridLayout(parent)
            layout.addWidget(self.canvas)
        layout.addWidget(self.toolbar)
예제 #15
0
    def __init__( self ):
        super( GDZViewer, self ).__init__()
        self.setupUi( self )
        self.mc = MplCanvas( self.verticalFrame )
        self.mpl_toolbar = NavigationToolbar( self.mc, self.verticalFrame )
        self.verticalLayout_3.addWidget( self.mc )
        self.verticalLayout_3.addWidget( self.mpl_toolbar )

        button_names = []
        self.hosts = {}
        self.mainpaths = {}
        for key in conf['BUTTONS']: button_names.append( key )
        button_positions = [( j, i ) for j in range( int( len( button_names ) / 4 + 1 ) ) for i in range( 4 ) ]
        for button_position, button_name in zip( button_positions, button_names ):
            button = QtWidgets.QPushButton()
            button.setObjectName( button_name )
            button.setText( button_name[7:] )
            button.clicked.connect( self.Switch_unit )
            self.gridLayout_3.addWidget( button, *button_position )
            self.mainpaths[button_name], self.hosts[button_name] = conf['BUTTONS'][button_name].split('@')
예제 #16
0
    def __init__(self, parent = None, enableAutoScale = False, enableCSV = False, enableEdit = False, fig = None):
        QWidget.__init__(self, parent)
        self.canvas = QtMplCanvas(fig)
        self.canvas.ax.mouse_init()
        self.toolbar = NavigationToolbar(self.canvas, self.canvas)
        self.vbox = QVBoxLayout()
        self.vbox.addWidget(self.canvas)
        self.vbox.addWidget(self.toolbar)
        self.setLayout(self.vbox)

        ###########SAVING FIGURE TO CLIPBOARD##########
        self.cb = None #will be used for the clipboard
        self.tempPath = getHomeDir()
        self.tempPath = os.path.join(self.tempPath,'tempMPL.png')

        self.mpl2ClipAction = QAction("Save to Clipboard",  self)
        self.mpl2ClipAction.setShortcut("Ctrl+C")
        self.addAction(self.mpl2ClipAction)
        # QObject.connect(self.mpl2ClipAction,pyqtSignal("triggered()"), self.mpl2Clip)
        self.mpl2ClipAction.triggered.connect(self.mpl2Clip)
예제 #17
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.figure = plt.figure()
        self.axes = self.figure.add_subplot(111, projection='3d')
        # We want the axes cleared every time plot() is called
        # self.axes.hold(False)
        self.canvas = FigureCanvas(self.figure)

        self.toolbar = NavigationToolbar(self.canvas, self)
        self.toolbar.hide()

        # Just some button
        self.button1 = QtWidgets.QPushButton('上一帧')
        self.button1.clicked.connect(self.up_pic)

        self.button2 = QtWidgets.QPushButton('下一帧')
        self.button2.clicked.connect(self.down_pic)

        self.button3 = QtWidgets.QPushButton('传输配置文件')
        self.button3.clicked.connect(self.send_config)

        self.button4 = QtWidgets.QPushButton('无用')
        self.button4.clicked.connect(self.home)

        # set the layout
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.toolbar)
        layout.addWidget(self.canvas)

        btnlayout = QtWidgets.QHBoxLayout()
        btnlayout.addWidget(self.button1)
        btnlayout.addWidget(self.button2)
        btnlayout.addWidget(self.button3)
        btnlayout.addWidget(self.button4)
        qw = QtWidgets.QWidget(self)
        qw.setLayout(btnlayout)
        layout.addWidget(qw)

        self.setLayout(layout)
        self.res = []
예제 #18
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.figure = plt.figure()
        self.axes = self.figure.add_subplot(111)

        # We want the axes cleared every time plot() is called
        self.axes.hold(False)
        self.canvas = FigureCanvas(self.figure)

        self.toolbar = NavigationToolbar(self.canvas, self)
        self.toolbar.hide()

        # Just some button
        self.button1 = QtWidgets.QPushButton('Plot')
        self.button1.clicked.connect(self.plot)

        self.button2 = QtWidgets.QPushButton('Zoom')
        self.button2.clicked.connect(self.zoom)

        self.button3 = QtWidgets.QPushButton('Pan')
        self.button3.clicked.connect(self.pan)

        self.button4 = QtWidgets.QPushButton('Home')
        self.button4.clicked.connect(self.home)

        # set the layout
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.toolbar)
        layout.addWidget(self.canvas)

        btnlayout = QtWidgets.QHBoxLayout()
        btnlayout.addWidget(self.button1)
        btnlayout.addWidget(self.button2)
        btnlayout.addWidget(self.button3)
        btnlayout.addWidget(self.button4)
        qw = QtWidgets.QWidget(self)
        qw.setLayout(btnlayout)
        layout.addWidget(qw)

        self.setLayout(layout)
예제 #19
0
 def __init__(self, obj, cell, avg):
     self.figure = ""
     rcParams.update({'figure.autolayout': True})
     self.class_sql_text = ""
     self.chosen_class = ""
     self.lines = dict()
     self.graph = ""
     self.avg = avg
     self.parent = obj
     self.qfigwidget = QtWidgets.QWidget(self.parent.ga_sa_contents)
     winWidth = 383
     winHeight = 384
     self.dpi = 100
     self.figure = plt.Figure(
         (winWidth / self.dpi, winHeight / self.dpi), dpi=self.dpi
     )  #MplCanvas(self.parent.ga_sa_contents)#self.parent.GraphScrollArea)
     self.canvas = FigureCanvas(self.figure)
     self.canvas.setParent(self.qfigwidget)
     self.navi_toolbar = NavigationToolbar(
         self.canvas, self.qfigwidget)  #self.parent.centralwidget)
     self.plotLayout = QtWidgets.QVBoxLayout()
     self.plotLayout.addWidget(self.canvas)
     self.plotLayout.addWidget(self.navi_toolbar)
     self.qfigwidget.setLayout(self.plotLayout)
     self.parent.ga_vert_layout.addWidget(self.qfigwidget)
     self.ax = None
     self.old_waits = ""
     self.dpi = self.figure.dpi
     self.begin_date = None
     self.all_data = None
     self.sysdate = True
     self.metric_name = self.parent.metric
     self.first_time = True
     self.starting_date = (
         dt.datetime.now() -
         dt.timedelta(minutes=5)).strftime(' %Y-%m-%dT%H:%M:%S+01:00')
     self.xfmt = mdates.DateFormatter('%H:%M:%S')
     self.canvas.setMinimumSize(self.canvas.size())
     self.cell = cell
     if self.parent.list_of_files is None:
         self.redraw_events()
예제 #20
0
    def __init__(self,
                 figure_title='',
                 x_axis_title='',
                 y_axis_title='',
                 add_toolbar=True,
                 add_grid=True):
        super().__init__()

        self.add_toolbar = add_toolbar
        self.add_grid = add_grid
        self.figure_title = figure_title
        self.x_axis_title = x_axis_title
        self.y_axis_title = y_axis_title
        self.figure, self.axes = pyplot.subplots()
        self.canvas = FigureCanvas(self.figure)
        if self.add_toolbar:
            self.toolbar = NavigationToolbar(self.canvas, self)
        else:
            self.toolbar = None
        self._set_layout()
        self._initialize_figure()
예제 #21
0
    def __init__(self , parent =None):

        QtWidgets.QWidget.__init__(self, parent)

        self.canvas = MplCanvas()

        self.vbl = QtWidgets.QVBoxLayout()

        self.ntb = NavigationToolbar(self.canvas, parent)

        self.vbl.addWidget(self.ntb)

        self.vbl.addWidget(self.canvas)

        self.setLayout(self.vbl)

        self.dataX= []

        self.dataY= []

        self.initDataGenerator()
예제 #22
0
    def __init__(self, parent=None, width=5, height=4, dpi=100):
        fig = Figure(figsize=(width, height), dpi=dpi)
        self._axes = fig.add_subplot(111)

        self.compute_initial_figure()

        FigureCanvas.__init__(self, fig)
        self.setParent(parent)

        FigureCanvas.setSizePolicy(self,
                                   QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)

        self.toolbar = NavigationToolbar(self, parent, False)

        def notify_axes_change(fig):
            # This will be called whenever the current axes is changed
            if self.toolbar is not None:
                self.toolbar.update()
        self.figure.add_axobserver(notify_axes_change)
예제 #23
0
    def __init__(self, path):
        super().__init__()
        matplotlib.rcParams['font.family'] = ['SimHei']  # 用来正常显示中文标签
        matplotlib.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
        self.currenttime = datetime.datetime.now()
        self.path = path
        layout = QtWidgets.QVBoxLayout(self)
        self.freqCanvas = FigureCanvas(Figure(figsize=(9, 12)))

        # 添加工具栏
        self.toolbar = NavigationToolbar(self.freqCanvas, self)
        layout.addWidget(self.toolbar)
        layout.addWidget(self.freqCanvas)

        self.axs = self.freqCanvas.figure.subplots(2, 1)
        self.freqCanvas.figure.canvas.mpl_connect('button_press_event',
                                                  self.drawFreq)

        # self.axs.set_xlim(150, 200)
        # self.axs.set_ylim(-100, -70)
        self.draw()
예제 #24
0
    def __init__(self, parent=None):
        super(Tdms_read, self).__init__(parent)
        self.setupUi(self)

        self.data=None

        self.figure_tdms = plt.figure(5)
        self.ax_tdms = self.figure_tdms.add_subplot(111)
        self.figure_tdms.subplots_adjust(left=0.1, right=0.9)
        self.canvas_tdms = FigureCanvas(self.figure_tdms)
        self.toolbar_tdms = NavigationToolbar(self.canvas_tdms, self)
        self.verticalLayout_tdms.addWidget(self.toolbar_tdms)
        self.verticalLayout_tdms.addWidget(self.canvas_tdms)
        self.tdms_is_view = False
        #self.axs_tdms = self.ax_tdms.twinx()

        self.openfile.clicked.connect(self.loadtdms)
        self.plotdata.clicked.connect(self.plottdms)
        self.savedata.clicked.connect(self.savetdms)
        self.tdms_span = SpanSelector(self.ax_tdms, self.tdms_onselect, 'horizontal', useblit=True, button=3,
                                      rectprops=dict(alpha=0.3, facecolor='g'))
예제 #25
0
    def __init__(self, parent=None):

        super(QTabRDS, self).__init__(parent=None)

        self.main_widget = QStackedWidget(self)

        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        main_layout = QVBoxLayout(self.main_widget)
        self.plot = plot(self.main_widget, width=6.5, height=6, dpi=100)
        self.navi_toolbar = NavigationToolbar(self.plot, self)
        main_layout.addWidget(self.navi_toolbar)
        main_layout.addWidget(self.plot)

        self.x_IN_A = np.ones((200, 200))
        self.x_OUT_A = np.ones((200, 200))
        self.y_IN_A = np.ones((200, 200))
        self.y_OUT_A = np.ones((200, 200))

        self.focus = 0
        self.setLayout(main_layout)
예제 #26
0
    def __init__(self, parent=None, *args, **kwargs):

        QMainWindow.__init__(self)
        self.setupUi(self)

        # add equations and initial conditions in the text field
        self.addEqaution()

        # get the parameters of the shape and axes
        self.fig, self.axes = self.plot_single_empty_graph()

        # by pressing the button solve the equation,
        # derive the values of the exact solution,
        # the solutions by the Euler method and draw curves
        self.btn_decide.clicked.connect(self.showSchedule)

        # create a widget for displaying curves and a toolbar
        self.campanovka = QtWidgets.QGridLayout(self.widget)
        self.canavas = MyMplCanvas(self.fig)
        self.campanovka.addWidget(self.canavas, 1, 3, 1, 1)
        self.toolbar = NavigationToolbar(self.canavas, self)
        self.campanovka.addWidget(self.toolbar, 2, 3, 1, 1)
예제 #27
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setWindowTitle("グラフ")
        self.setGeometry(300, 300, 500, 500)

        self.figure = plt.figure()
        self.axes = self.figure.add_subplot(111)
        # We want the axes cleared every time plot() is called
        self.axes.hold(False)
        self.canvas = FigureCanvas(self.figure)
        self.canvas.setParent(self)

        self.canvas.move(100, 20)

        self.toolbar = NavigationToolbar(self.canvas, self)
        self.toolbar.hide()

        # Just some button
        self.button1 = QtWidgets.QPushButton('Plot', self)
        self.button1.clicked.connect(self.plot)
        self.button1.move(0, 400)
예제 #28
0
    def __init__(self,
                 dataArrayChanged,
                 parent,
                 tools=None,
                 rotateCrossSection=False):
        #
        self.dataArrayChanged = dataArrayChanged
        self.rotateCrossSection = rotateCrossSection
        self.parent = parent

        BasePlot.__init__(self)

        # create plot
        self.fig = Figure()

        FigureCanvas.__init__(self, self.fig)
        # FigureCanvas.setSizePolicy(self,
        #                            QtWidgets.QSizePolicy.Expanding,
        #                            QtWidgets.QSizePolicy.Expanding)
        # for receiving key events this focus has to be set
        self.setFocusPolicy(QtCore.Qt.ClickFocus)
        self.setFocus()
        FigureCanvas.updateGeometry(self)

        # connect events for data array update
        dataArrayChanged.connect(self.onDataArrayChange)

        # connect events for tools
        if tools is not None:
            # this function does not do anything. It is however necessary to create a new scope for id
            # wihtout it id would always be the last value of the for loop
            def createHandler(id):
                return lambda: self.onToolChange(id)

            for id in tools.keys():
                tools[id].triggered.connect(createHandler(id))

        # add toolbar
        self.mpl_toolbar = NavigationToolbar(self, parent)
예제 #29
0
    def __init__(self, filepath, device_name):
        super().__init__()
        self.filepath = filepath
        self.y1List = []
        self.device_name = device_name
        matplotlib.rcParams['font.family'] = ['SimHei']  # 用来正常显示中文标签
        matplotlib.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
        layout = QtWidgets.QVBoxLayout(self)  # 实例化布局,用来塞画布
        self.freqCanvas = FigureCanvas(Figure(figsize=(12, 6)))  # 实例化画布

        # 添加工具栏
        self.toolbar = NavigationToolbar(self.freqCanvas, self)
        layout.addWidget(self.toolbar)
        layout.addWidget(self.freqCanvas)

        self.axs = self.freqCanvas.figure.subplots(1, 2, sharex=True)

        self.axs[0].set_xlim(150, 200)
        self.axs[0].set_ylim(-100, -70)
        self.axs[1].set_xlim(100, 200)
        self.axs[1].set_ylim(-500, 0)
        self.draw()
예제 #30
0
    def __init__(self, parent=None, ob=FileProcess.FileProcess):
        self.log = ob
        super().__init__(parent)
        self.setupUi(self)
        self.sp = Figure_Canvas(self.widget)  # 这是继承FigureCanvas的子类,使用子窗体widget作为
        self.trainComTable = QtWidgets.QTableWidget()
        l = QtWidgets.QVBoxLayout(self.widget)
        self.sp.mpl_toolbar = NavigationToolbar(self.sp, self.widget)  # 传入FigureCanvas类或子类实例,和父窗体

        # l.addWidget(self.trainComTable)
        l.addWidget(self.sp)
        l.addWidget(self.sp.mpl_toolbar)
        self.acc_table_format()
        logicon = QtGui.QIcon()
        logicon.addPixmap(QtGui.QPixmap(":IconFiles/BZT.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setWindowIcon(logicon)
        self.setWindowTitle(u'车辆通信时延观测器')
        self.resize(500, 600)
        # 初始化内容
        self.ato2tcms_tb_ctrl = []
        self.tcms2ato_tb_fbk = []
        self.cycle_ord = []  # 为了使得绘图由周期信息,考虑到某个周期可能没有输入只有输出,所以需要人工组合,使得输入保持
        self.mvbdialog = MVBPortDlg()