def __init__(self, parent=None, mw=None, width=5, height=4, dpi=100): super(QWidget, self).__init__(parent) self.fig = Figure() self.canvas = Canvas(self.fig) self.canvas.setParent(parent) self.toolbar = NavigationToolbar(self.canvas, self) # set the layout l1 = QVBoxLayout(parent) l1.addWidget(self.toolbar) l1.addWidget(self.canvas) self.axes = self.fig.add_subplot(111) self.axes2 = self.axes.twinx() self.fig.sca(self.axes) self.setParent(parent) self.data_list = [] self.legend_list = [] self.data_list_2 = [] self.legend_list_2 = [] self.title = '' self.left_lim = None self.right_lim = None self.plot_type = ''
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) # self.fig = Figure((10.0, 10.0), dpi=100) self.fig = plt.figure(figsize=(10.0, 10.0), dpi=100) self.canvas = Canvas(self.fig) self.vbl = QtGui.QVBoxLayout() self.vbl.addWidget(self.canvas) self.setLayout(self.vbl)
def __init__(self, parent=None, width=5, height=4, dpi=80, filename=None, model=None, plot_type='Image', trace_num=None, region=[]): # plot paramters # self.t_num = trace_num self.region = region # connect model signal # self.model = model self.model.dataChanged.connect(self.update_views) # create a dictionary of views self.view_options = { 'Image': self.view_image, 'TracePlot': self.view_trace, 'PSD': self.view_psd, 'Surface': self.view_surface } super(View, self).__init__(parent) # make the figure self.figure = Figure((width, height), dpi) fig_color = (1.0, 1.0, 1.0, 1.0) self.figure.set_facecolor(fig_color) # create the canvas self.canvas = Canvas(self.figure) self.canvas.setParent(self) # create the toolbar and tie it to the canvas self.toolbar = Toolbar(self.canvas, self) self.layout = QtGui.QVBoxLayout() self.layout.addWidget(self.canvas) self.setLayout(self.layout) if filename: self.setWindowTitle(plot_type + ': ' + filename) if plot_type == 'Surface': self.axes = self.figure.gca(projection='3d') else: self.axes = self.figure.add_subplot(111) self.axes.hold(False) self.view_options[plot_type]() self.canvas.show()
def __init__(self, parent=None, title='Title', xlabel='', ylabel='', dpi=100, hold=False): super(MatplotlibWidget, self).__init__(Figure()) self.setParent(parent) self.figure = Figure(dpi=dpi) self.figure.set_frameon(False) self.canvas = Canvas(self.figure) self.theplot = self.figure.add_subplot(111)
def __init__(self, parent=None, show_bar='False', width=5, height=4, dpi=100): super(QWidget, self).__init__(parent) self.fig = Figure() self.canvas = Canvas(self.fig) self.canvas.setParent(parent) # set the layout self.setLayout(QVBoxLayout()) self.layout().setContentsMargins(0, 0, 0, 0) self.layout().setSpacing(0) self.canvas.draw() self.scroll = QScrollArea(self) self.scroll.setWidget(self.canvas) self.layout().addWidget(self.scroll) # l1 = QVBoxLayout(parent) # l1.setContentsMargins(0, 0, 0, 0) # l1.setSpacing(0) # l1.addWidget(self.canvas) # self.scroll = QScrollArea(self) # self.scroll.setWidget(self.canvas) # # l1.addWidget(self.scroll) self.axes = self.fig.add_subplot(111) self.fig.sca(self.axes) # self.setParent(parent) self.text_list = None self.show_bar = show_bar self.cbar = None self.i = None self.j = None self.fig.canvas.mpl_connect('button_press_event', self.onclick) self.fig.canvas.mpl_connect('scroll_event', self._on_mousewheel) self.sel_rect = None
def __init__(self, parent, x_dimension, y_dimension): super(PlotWidget, self).__init__(Figure()) self.setParent(parent) self.figure = Figure((x_dimension, y_dimension)) self.canvas = Canvas(self.figure) self.axes = self.figure.add_subplot(111) # navigation toolbar self.nav = NavigationToolbar(self.canvas, self) self.nav.hide() # background color = white self.figure.set_facecolor('white') # global variables self.x_limit = None self.plot_style()
def __init__(self, parent=None, width=3, height=3, dpi=100): super(MplGraphWidget, self).__init__(parent) self._dataY = np.array([]) self._dataX = np.array([]) self._spCols = 1 self._spRows = 1 self.all_sp_axes = [] self.fig = Figure(figsize=(width, height), dpi=dpi) self.all_sp_axes.append( self.fig.add_subplot(self._spCols, self._spRows, 1)) self.fig.set_frameon(False) self.fig.set_tight_layout(True) self.canvas = Canvas(self.fig) self._navBarOn = True self.mpl_toolbar = NavigationToolbar(self.canvas, parent) self.canvas.mpl_connect('key_press_event', self.on_key_press) self.canvas.mpl_connect('button_press_event', self.on_button_press) self.canvas.mpl_connect('motion_notify_event', self.on_mouse_move) self.canvas.setFocusPolicy(QtCore.Qt.ClickFocus) self.canvas.setFocus() self.canvas.setParent(parent) self.canvas.clearMask() self.canvas.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.canvas.updateGeometry() vbox = QtGui.QVBoxLayout() vbox.addWidget(self.canvas) if self._navBarOn: vbox.addWidget(self.mpl_toolbar) self.setLayout(vbox)
def __init__(self, iface, parent=None, flags=Qt.WindowFlags()): QDialog.__init__(self, parent, flags) uic.loadUi(UI_PATH, self) self.iface = iface self.input_layer = None self.raster_layer = None self.roughness_layer = None #add channel info self.channel_info = None # self.name_box.setExpression('') # self.station_box.setExpression('') self.delta_box.setExpression('0.1') self.connection_box.setExpression("'standard'") self.type_box.setExpression("'river'") self.initial_box.setExpression('0.5') self.point_bc_enabled_box.setExpression('False') self.point_bc_stationary_box.setExpression('True') self.point_bc_value_box.setExpression('0') self.lateral_bc_enabled_box.setExpression('False') self.lateral_bc_stationary_box.setExpression('True') self.lateral_bc_value_box.setExpression('0') self.overflow_left_enabled_box.setExpression('True') self.overflow_left_poleni_box.setExpression('0.577') self.overflow_right_enabled_box.setExpression('True') self.overflow_right_poleni_box.setExpression('0.577') self.localbridgeheight_box.setExpression('1.5') self.bridgebodyheight_box.setExpression('4.0') self.groupBox_bridge.setCollapsed(True) self.mGroupBox_6.setCollapsed(True) self.mGroupBox.setCollapsed(True) self.mGroupBox_4.setCollapsed(True) self.mGroupBox_3.setCollapsed(True) self.mGroupBox_2.setCollapsed(True) self.groupBox_main.setCollapsed(True) self.mGroupBox_4.setCollapsed(False) #set DGM layer self.raster_layer_box.setFilters(QgsMapLayerProxyModel.RasterLayer) self.raster_layer_box.layerChanged.connect(self.setRasterLayer) self.raster_band_box.setEnabled(False) self.method_box.addItem('nearest neighbor (downscaling/upscaling)') self.method_box.addItem('bi-linear (downscaling)') self.method_box.addItem('bi-cubic (downscaling)') #set roughness layer self.roughness_layer_box.setFilters(QgsMapLayerProxyModel.RasterLayer) self.roughness_layer_box.layerChanged.connect(self.setRoughnessLayer) self.roughness_layer_box.setLayer(None) #set channel layer self.comboBox_main.setFilters(QgsMapLayerProxyModel.PolygonLayer) self.comboBox_main.layerChanged.connect(self.setChannelLayer) self.comboBox_main.setLayer(None) self.browse_button.clicked.connect(self.onBrowseButtonClicked) self.HelpButton.clicked.connect(self.Help) self.iface.currentLayerChanged.connect(self.setInputLayer) ############################################# #autostationing button function def autoclicked(state): if state > 0: self.profileid_box.setEnabled(True) self.station_box.setEnabled(False) self.preview_button.setDisabled(True) else: self.profileid_box.setEnabled(False) self.station_box.setEnabled(True) self.preview_button.setDisabled(False) self.profileid_box.setEnabled(False) self.autostation_box.stateChanged.connect(autoclicked) ############################################# if PREVIEW_ENABLED: self.figure = Figure(figsize=(10, 4), dpi=100) self.axes = self.figure.add_subplot(111) self.axes.set_xlabel('Stationing') self.axes.set_ylabel('Elevation [m+NHN]') self.figure.tight_layout() self.canvas = Canvas(self.figure) self.canvas.setParent(self) self.canvas.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.layout().addWidget(self.canvas) self.canvas.setVisible(False) self.cursor = None self.preview_button.toggled.connect(self.canvas.setVisible) self.preview_button.toggled.connect(self.update_button.setEnabled) self.update_button.clicked.connect(self.updateLongitudinalPreview) else: self.preview_button.setDisabled(True) self.figure = None self.axes = None self.canvas = None self.cursor = None self.setInputLayer(self.iface.activeLayer()) self.setRasterLayer(self.raster_layer_box.currentLayer())
def __init__(self, app, parent=None): start_time = time.time() super(GLUI, self).__init__(parent) self.app = app self.setGeometry(50, 50, 1000, 400) self.setWindowTitle("GLUI") self.setWindowIcon(QtGui.QIcon('images/GLUI_logo.png')) self.setPalette(PALETTE) self.thread_pool = QtCore.QThreadPool() self.current_bend_file = DEFAULT_BEND #self.machine = gcode_handler() self.machine = None self.scale = None #self.load_machine() #self.machine.init_code() #self.scale = scale_handler() self.grid = QtGui.QGridLayout() #self.setCentralWidget(self.grid) self.setLayout(self.grid) #self.main_window #self.flow_window #self.position_cal_wondow # Menu bar self.menu_bar = QtGui.QMenuBar(self) #self.menuBar() self.load_menu() empty_lb = QtGui.QLabel() self.grid.addWidget(empty_lb, 0, 0) row_offset = 1 # Drawing drop down self.current_drawing = DEFAULT_DRAWING self.draw_dd = QtGui.QComboBox() self.load_dd_draw() self.draw_dd.activated[str].connect(self.choose_drawing) self.grid.addWidget(self.draw_dd, 6 + row_offset, 1) self.draw_lb = QtGui.QLabel('Selected Drawing:') self.grid.addWidget(self.draw_lb, 6 + row_offset, 0) # Jig drop down self.current_jig = DEFAULT_JIG self.jig_dd = QtGui.QComboBox() self.load_dd_jig() self.jig_dd.activated[str].connect(self.choose_jig) self.grid.addWidget(self.jig_dd, 7 + row_offset, 1) self.jig_lb = QtGui.QLabel('Selected Jig:') self.grid.addWidget(self.jig_lb, 7 + row_offset, 0) # Grid drop down self.current_grid = DEFAULT_GRID self.grid_dd = QtGui.QComboBox() self.load_dd_grid() self.grid_dd.activated[str].connect(self.choose_grid) self.grid.addWidget(self.grid_dd, 8 + row_offset, 1) self.grid_lb = QtGui.QLabel('Selected Grid:') self.grid.addWidget(self.grid_lb, 8 + row_offset, 0) self.load_last_setup() # Reload cfg's self.cfg_btn = QtGui.QPushButton('Reload') self.cfg_btn.clicked.connect( lambda: self.launch_worker(self.reload_cfg, closing_func=[ self.load_dd_draw, self.load_dd_grid, self.load_dd_jig, ])) self.grid.addWidget(self.cfg_btn, 9 + row_offset, 1) self.cfg_lb = QtGui.QLabel('Reload the configuration files:') self.grid.addWidget(self.cfg_lb, 9 + row_offset, 0) # Overview plot self.figure_ov, self.figure_ov_ax = plt.subplots() #self.figure_ov = plt.figure(figsize=(10,5)) self.canvas_ov = Canvas(self.figure_ov) self.grid.addWidget(self.canvas_ov, 0 + row_offset, 0, 6, 2) self.plot_ov() # Calibrate position button and drop down self.pos_cal_idx = DEFAULT_POS_CAL_IDX self.pos_cal_idx_dd = QtGui.QComboBox() self.load_dd_pos_cal() self.pos_cal_idx_dd.activated[str].connect(self.choose_pos_cal_idx) self.grid.addWidget(self.pos_cal_idx_dd, 1 + row_offset, 3) self.position_cal_btn = QtGui.QPushButton('Calibrate') #self.position_cal_btn.clicked.connect(self.pos_cal) self.position_cal_btn.clicked.connect( lambda: self.launch_worker(self.pos_cal, check_func=[self.init_warning], closing_func=[self.load_dd_tilt_cal])) self.grid.addWidget(self.position_cal_btn, 1 + row_offset, 4) self.position_cal_lb = QtGui.QLabel('Calibrate position:') self.grid.addWidget(self.position_cal_lb, 1 + row_offset, 2) # Calibrate tilt button and drop down self.tilt_speed = 25 self.pos_func_dict = None self.load_pos_func_dict() self.tilt_cal_idx = DEFAULT_TILT_CAL_IDX self.tilt_cal_idx_dd = QtGui.QComboBox() self.load_dd_tilt_cal() self.tilt_cal_idx_dd.activated[str].connect(self.choose_tilt_cal_idx) self.grid.addWidget(self.tilt_cal_idx_dd, 2 + row_offset, 3) self.load_tilt_dict() self.tilt_cal_btn = QtGui.QPushButton('Calibrate') #self.tilt_cal_btn.clicked.connect(self.tilt_cal) self.tilt_cal_btn.clicked.connect(lambda: self.launch_worker( self.tilt_cal, check_func=[ self.init_warning, self.coo_dict_warning, ], )) self.grid.addWidget(self.tilt_cal_btn, 2 + row_offset, 4) self.tilt_cal_lb = QtGui.QLabel('Calibrate tilt:') self.grid.addWidget(self.tilt_cal_lb, 2 + row_offset, 2) # Glue selector self.scale = None q_list = ['Select Glue Type:', 'Glue Ceartion Time:'] t_list = ['glue', 'time'] self.glue_sel_a = [DEFAULT_GLUE, DEFAULT_GLUE_CT] self.current_glue = DEFAULT_GLUE self.current_glue_ts = DEFAULT_GLUE_CT self.current_flow = DEFAULT_FLOW self.current_pressure = DEFAULT_PRESSURE self.glue_window = q_box(q_list, t_list, self, 'glue_sel_a', exit_functions=['load_glue_sel']) self.glue_set_btn = QtGui.QPushButton('Set Glue') self.glue_set_btn.clicked.connect(self.set_glue) self.grid.addWidget(self.glue_set_btn, 7 + row_offset, 4) self.glue_label = QtGui.QLabel() self.glue_ts_label = QtGui.QLabel() self.grid.addWidget(self.glue_label, 7 + row_offset, 2) self.grid.addWidget(self.glue_ts_label, 7 + row_offset, 3) # Calibrate flow self.flow_cal_btn = QtGui.QPushButton('Calibrate') self.flow_window = fit_window(self) self.flow_cal_btn.clicked.connect(self.flow_cal) self.grid.addWidget(self.flow_cal_btn, 3 + row_offset, 4) self.position_cal_lb = QtGui.QLabel('Calibrate flow:') self.grid.addWidget(self.position_cal_lb, 3 + row_offset, 2) # Current flow and pressure labels self.current_pressure_lb = QtGui.QLabel() self.grid.addWidget(self.current_pressure_lb, 6 + row_offset, 2) self.current_flow_lb = QtGui.QLabel() self.grid.addWidget(self.current_flow_lb, 6 + row_offset, 3) self.load_last_glue() self.load_fandp_labels() # Init machine button self.machine_init_btn = QtGui.QPushButton('Init') self.machine_init_btn.clicked.connect(lambda: self.launch_worker( self.init_machine, starting_func=[self.load_machine])) self.grid.addWidget(self.machine_init_btn, 8 + row_offset, 4) self.machine_init_lb = QtGui.QLabel('Init LitePlacer:') self.grid.addWidget(self.machine_init_lb, 8 + row_offset, 2) # Draw button and label self.dodraw_btn = QtGui.QPushButton('Draw') #self.dodraw_btn.clicked.connect(self.draw) self.dodraw_btn.clicked.connect(lambda: self.launch_worker( self.draw, check_func=[ self.init_warning, self.coo_dict_warning, self.tilt_dict_warning, ], )) self.grid.addWidget(self.dodraw_btn, 4 + row_offset, 4) self.dodraw_lb = QtGui.QLabel('Draw configuration:') self.grid.addWidget(self.dodraw_lb, 4 + row_offset, 2) self.launch_worker(self.load_machine, toggle_func=self.toggle_move) #self.load_machine() self.launch_worker(self.load_scale, toggle_func=self.toggle_scale) self.show() print('Init took: ' + str(time.time() - start_time) + ' s')
def __init__(self, main_window, guess_pressure=False, pix_w=700, pix_h=500, parent=None): print('fit window') super(fit_window, self).__init__(parent) self.setWindowTitle("GLUI: flow calibration") self.setWindowIcon(QtGui.QIcon('images/GLUI_logo.png')) self.setPalette(PALETTE) self.setGeometry(50, 50, pix_w, pix_h) self.main_window = main_window self.desired_flow = DRAWING_CFG[ main_window.current_drawing]['desired_flow'] self.flow_precision = DRAWING_CFG[ main_window.current_drawing]['flow_precision'] if guess_pressure and not main_window.current_pressure is None: self.set_pressure = main_window.current_pressure self.guess_pressure(main_window.current_flow) else: self.set_pressure = DRAWING_CFG[ main_window.current_drawing]['init_pressure'] self.measured_flow = 0. self.max_factor = 5. self.grid = QtGui.QGridLayout() self.setLayout(self.grid) self.thread_pool = QtCore.QThreadPool() # Fit plot self.figure, self.figure_ax = plt.subplots() #self.figure_ov = plt.figure(figsize=(10,5)) self.canvas = Canvas(self.figure) self.grid.addWidget(self.canvas, 0, 0, 1, 3) #self.canvas.draw() # Progress and eta self.progress_bar = QtGui.QProgressBar() self.progress_bar.setAlignment(QtCore.Qt.AlignRight) self.grid.addWidget(self.progress_bar, 2, 1, 1, 2) self.eta_lb = QtGui.QLabel('ETA: none s') self.grid.addWidget(self.eta_lb, 2, 0) # Info labels self.pressure_lb = QtGui.QLabel() self.grid.addWidget(self.pressure_lb, 1, 0) self.flow_lb = QtGui.QLabel() self.grid.addWidget(self.flow_lb, 1, 1) self.desired_flow_lb = QtGui.QLabel() self.grid.addWidget(self.desired_flow_lb, 1, 2) self.update_labels() # Start button self.start_btn = QtGui.QPushButton('Start') self.start_btn.clicked.connect(self.start) self.start_btn.setEnabled(True) self.grid.addWidget(self.start_btn, 3, 0) # Good fit/ Bad fit buttons self.good_btn = QtGui.QPushButton('Good') self.good_btn.clicked.connect(self.good) self.good_btn.setEnabled(False) self.grid.addWidget(self.good_btn, 3, 1) self.bad_btn = QtGui.QPushButton('Bad') self.bad_btn.clicked.connect(self.bad) self.bad_btn.setEnabled(False) self.grid.addWidget(self.bad_btn, 3, 2)