def __init__(self, parent=None, rangeSelectionCallback=None): PlotterBase.__init__(self, "RT", "I") self.rangeSelectionCallback = rangeSelectionCallback widget = self.widget widget.plot.__class__ = RtPlot self.pm = PlotManager(widget) self.pm.add_plot(widget.plot) t = self.pm.add_tool(RtSelectionTool) t.activate() self.pm.set_default_tool(t) marker = Marker(label_cb=self.widget.plot.label_info, constraint_cb=self.widget.plot.on_plot) marker.rts = [0] setupStyleRtMarker(marker) marker.attach(self.widget.plot) self.marker = marker self.cursor_info = RtCursorInfo(marker) label = make.info_label("T", [self.cursor_info], title=None) label.labelparam.label = "" label.labelparam.font.size = 12 label.labelparam.border.color = "#ffffff" label.labelparam.update_label(label) self.label = label self.minRTRangeSelected = None self.maxRTRangeSelected = None
def __init__(self, rangeSelectionCallback=None): super(RtPlotter, self).__init__("RT", "I") self.rangeSelectionCallback = rangeSelectionCallback widget = self.widget widget.plot.__class__ = RtPlot # todo: refactor as helper a = QwtScaleDraw() # render tic labels in modfied format: label = lambda self, v: QwtText(formatSeconds(v)) a.label = new.instancemethod(label, widget.plot, QwtScaleDraw) widget.plot.setAxisScaleDraw(widget.plot.xBottom, a) self.pm = PlotManager(widget) self.pm.add_plot(widget.plot) t = self.pm.add_tool(RtSelectionTool) self.addTool(RtSelectionTool) self.pm.set_default_tool(t) marker = Marker(label_cb=self.widget.plot.label_info, constraint_cb=self.widget.plot.on_plot) marker.rts = [0] setupStyleRtMarker(marker) marker.attach(self.widget.plot) self.marker = marker label = make.info_label("T", [RtCursorInfo(marker)], title=None) label.labelparam.label = "" self.label = label self.minRTRangeSelected = None self.maxRTRangeSelected = None
def _add_range_selector(self, rtvalues): self.rtvalues = rtvalues self.minRTRangeSelected = 0 self.maxRTRangeSelected = 0 range_ = SnappingRangeSelection(self.minRTRangeSelected, self.maxRTRangeSelected, self.rtvalues) setupStyleRangeMarker(range_) self.range_ = range_ # you have to register item to plot before you can register the # rtSelectionHandler: self.widget.plot.add_item(range_) range_.SIG_RANGE_CHANGED.connect(self._range_selection_handler) #self.widget.disconnect(range_.plot(), SIG_RANGE_CHANGED, #self._range_selection_handler) #self.widget.connect(range_.plot(), SIG_RANGE_CHANGED, #self._range_selection_handler) cc = make.info_label("TR", [RtRangeSelectionInfo(range_)], title=None) cc.labelparam.label = "" cc.labelparam.font.size = 12 cc.labelparam.update_label(cc) self.widget.plot.add_item(cc)
def create_peakmap_labels(self): plot = self.widget.plot rect_marker = RectangleShape() rect_label = make.info_label("TR", [PeakmapCursorRangeInfo(rect_marker)], title=None) rect_label.labelparam.label = "" rect_label.setVisible(1) plot.rect_label = rect_label plot.add_item(rect_label) params = { "shape/drag/symbol/size": 0, "shape/drag/line/color": "#cccccc", "shape/drag/line/width": 1.5, "shape/drag/line/alpha": 0.4, "shape/drag/line/style": "SolidLine", } CONF.update_defaults(dict(plot=params)) rect_marker.shapeparam.read_config(CONF, "plot", "shape/drag") rect_marker.shapeparam.update_shape(rect_marker) rect_marker.setVisible(0) rect_marker.set_rect(0, 0, np.nan, np.nan) plot.add_item(rect_marker) plot.canvas_pointer = True # x-cross marker on # we hack label_cb for updating legend: def label_cb(rt, mz): # passing None here arives as np.nan if you call get_rect later, so we use # np.nan here: rect_marker.set_rect(rt, mz, np.nan, np.nan) return "" cross_marker = plot.cross_marker cross_marker.label_cb = label_cb params = { "marker/cross/line/color": "#cccccc", "marker/cross/line/width": 1.5, "marker/cross/line/alpha": 0.4, "marker/cross/line/style": "DashLine", "marker/cross/symbol/marker": "NoSymbol", "marker/cross/markerstyle": "Cross", } CONF.update_defaults(dict(plot=params)) cross_marker.markerparam.read_config(CONF, "plot", "marker/cross") cross_marker.markerparam.update_marker(cross_marker) self.cross_marker = cross_marker self.rect_marker = rect_marker
def __init__(self, c_callback=None, image_plot=None): super(MzPlotter, self).__init__("m/z", "I") self.c_callback = c_callback widget = self.widget # inject mofified behaviour of wigets plot attribute: widget.plot.__class__ = MzPlot widget.plot.register_c_callback(self.handle_c_pressed) widget.plot.image_plot = image_plot self.setHalfWindowWidth(0.05) self.centralMz = None # todo: refactor as helper a = QwtScaleDraw() label = lambda self, x: QwtText("%s" % x) a.label = new.instancemethod(label, widget.plot, QwtScaleDraw) widget.plot.setAxisScaleDraw(widget.plot.xBottom, a) self.pm = PlotManager(widget) self.pm.add_plot(widget.plot) self.curve = make.curve([], [], color='b', curvestyle="Sticks") # inject modified behaviour: self.curve.__class__ = ModifiedCurveItem self.widget.plot.add_item(self.curve) t = self.pm.add_tool(MzSelectionTool) self.pm.set_default_tool(t) t.activate() marker = Marker(label_cb=widget.plot.label_info, constraint_cb=widget.plot.on_plot) marker.attach(self.widget.plot) line = make.segment(0, 0, 0, 0) line.__class__ = ModifiedSegment line.setVisible(0) setupCommonStyle(line, marker) label = make.info_label("TR", [MzCursorInfo(marker, line)], title=None) label.labelparam.label = "" self.marker = marker self.label = label self.line = line
def _setup_range_selector(self): if not self._with_range: self.range_ = None return self.range_ = SnappingRangeSelection(0, 0) # you have to register item to plot before you can register the # rtSelectionHandler: self.plot.add_item(self.range_) self.range_.SELECTED_RANGE_CHANGED.connect(self._range_selection_handler) cc = make.info_label("TR", [RangeSelectionInfo(self.range_)], title=None) setup_label_param(cc, {"label": "", "font.size": 12}) self.plot.add_item(cc)
def __init__(self, parent=None): super(MzPlottingWidget, self).__init__(parent, xlabel="mz", ylabel="I") patch_inner_plot_object(self, MzPlot) self.plot.centralMz = None def label(self, x): # label with full precision: return QwtText(str(x)) a = QwtScaleDraw() a.label = new.instancemethod(label, self.plot, QwtScaleDraw) self.plot.setAxisScaleDraw(self.plot.xBottom, a) self.pm = PlotManager(self) self.pm.add_plot(self.plot) self.curve = make_unselectable_curve([], [], color="b", curvestyle="Sticks") self.plot.add_item(self.curve) t = self.pm.add_tool(MzSelectionTool) self.pm.set_default_tool(t) t.activate() marker = Marker(label_cb=self.plot.label_info, constraint_cb=self.plot.on_plot) marker.attach(self.plot) line = make_measurement_line() line.setVisible(0) setupCommonStyle(line, marker) line.shapeparam.line.color = "#555555" line.shapeparam.update_shape(line) label = make.info_label("TR", [MzCursorInfo(marker, line)], title=None) label.labelparam.label = "" label.labelparam.font.size = 12 label.labelparam.update_label(label) self.marker = marker self.label = label self.line = line
def _setup_range_selector(self): if not self._with_range: self.range_ = None return self.range_ = SnappingRangeSelection(0, 0) # you have to register item to plot before you can register the # rtSelectionHandler: self.plot.add_item(self.range_) self.range_.SELECTED_RANGE_CHANGED.connect( self._range_selection_handler) cc = make.info_label("TR", [RangeSelectionInfo(self.range_)], title=None) setup_label_param(cc, {"label": "", "font.size": 12}) self.plot.add_item(cc)
def addRangeSelector(self, rtvalues): self.rtvalues = rtvalues self.minRTRangeSelected = 0 self.maxRTRangeSelected = 0 range_ = SnappingRangeSelection(self.minRTRangeSelected,\ self.maxRTRangeSelected, self.rtvalues) setupStyleRangeMarker(range_) self.range_ = range_ # you have to register item to plot before you can register the # rtSelectionHandler: self.widget.plot.add_item(range_) self.widget.disconnect(range_.plot(), SIG_RANGE_CHANGED,\ self.rangeSelectionHandler) self.widget.connect(range_.plot(), SIG_RANGE_CHANGED,\ self.rangeSelectionHandler) cc = make.info_label("TR", [RtRangeSelectionInfo(range_)], title=None) cc.labelparam.label = "" self.widget.plot.add_item(cc)
def __init__(self, rangeSelectionCallback = None): super(RtPlotter, self).__init__("RT", "I") self.rangeSelectionCallback = rangeSelectionCallback widget = self.widget widget.plot.__class__ = RtPlot # todo: refactor as helper a = QwtScaleDraw() # render tic labels in modfied format: label = lambda self, v: QwtText(formatSeconds(v)) a.label = new.instancemethod(label, widget.plot, QwtScaleDraw) widget.plot.setAxisScaleDraw(widget.plot.xBottom, a) #a.label = new.instancemethod(label, widget.plot, QwtScaleDraw) self.pm = PlotManager(widget) self.pm.add_plot(widget.plot) t = self.pm.add_tool(RtSelectionTool) self.addTool(RtSelectionTool) self.pm.set_default_tool(t) marker = Marker(label_cb=self.widget.plot.label_info,\ constraint_cb=self.widget.plot.on_plot) marker.rts = [0] setupStyleRtMarker(marker) marker.attach(self.widget.plot) self.marker = marker label = make.info_label("T", [RtCursorInfo(marker)], title=None) label.labelparam.label = "" self.label=label self.minRTRangeSelected = None self.maxRTRangeSelected = None
def _setup_label(self): label = make.info_label("T", [self.cursor_info], title=None) setup_label_param(label, {"label": "", "font.size": 12, "border.color": "#ffffff"}) self.label = label
def make_label(marker, line): label = make.info_label("TR", [MzCursorInfo(marker, line)], title=None) label.labelparam.label = "" return label