def configure_plot(self): self.marker = add_marker(self.plot) self.line = MeasurementLine() self.line.setVisible(0) self.label = make_label(self.marker, self.line) setupCommonStyle(self.line, self.marker) manager = PlotManager(self.widget) manager.add_plot(self.plot) tool = manager.add_tool(MzSelectionTool) tool.activate() manager.set_default_tool(tool) self.plot.add_item(self.marker) self.plot.add_item(self.label) self.plot.add_item(self.line) self.plot.startMeasuring.connect(self.line.start_measuring) self.plot.moveMeasuring.connect(self.line.move_measuring) self.plot.stopMeasuring.connect(self.line.stop_measuring) self.plot.moveMarker.connect(self.marker.move_local_point_to) self.line.updated.connect(self.plot.replot)
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 __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