def marker(self, position=None, label_cb=None, constraint_cb=None, movable=True, readonly=False, markerstyle=None, markerspacing=None, color=None, linestyle=None, linewidth=None, marker=None, markersize=None, markerfacecolor=None, markeredgecolor=None): """ Make a marker `plot item` (:py:class:`guiqwt.shapes.Marker` object) * position: tuple (x, y) * label_cb: function with two arguments (x, y) returning a string * constraint_cb: function with two arguments (x, y) returning a tuple (x, y) according to the marker constraint * movable: if True (default), marker will be movable * readonly: if False (default), marker can be deleted * markerstyle: '+', '-', '|' or None * markerspacing: spacing between text and marker line * color: marker color name * linestyle: marker line style (MATLAB-like string or attribute name from the :py:class:`PyQt4.QtCore.Qt.PenStyle` enum (i.e. "SolidLine" "DashLine", "DotLine", "DashDotLine", "DashDotDotLine" or "NoPen") * linewidth: line width (pixels) * marker: marker shape (MATLAB-like string or "Cross", "Ellipse", "Star1", "XCross", "Rect", "Diamond", "UTriangle", "DTriangle", "RTriangle", "LTriangle", "Star2", "NoSymbol") * markersize: marker size (pixels) * markerfacecolor: marker face color name * markeredgecolor: marker edge color name """ param = MarkerParam(_("Marker"), icon='marker.png') param.read_config(CONF, "plot", "marker/cursor") if color or linestyle or linewidth or marker or markersize or \ markerfacecolor or markeredgecolor: param.line = param.sel_line param.symbol = param.sel_symbol param.text = param.sel_text self.__set_baseparam(param, color, linestyle, linewidth, marker, markersize, markerfacecolor, markeredgecolor) param.sel_line = param.line param.sel_symbol = param.symbol param.sel_text = param.text if markerstyle: param.set_markerstyle(markerstyle) if markerspacing: param.spacing = markerspacing if not movable: param.symbol.marker = param.sel_symbol.marker = "NoSymbol" marker = Marker(label_cb=label_cb, constraint_cb=constraint_cb, markerparam=param) if position is not None: x, y = position marker.set_pos(x, y) marker.set_readonly(readonly) if not movable: marker.set_movable(False) marker.set_resizable(False) return marker
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_cursor(self): marker = Marker(label_cb=self.plot.label_info, constraint_cb=self.plot.on_plot) marker.rts = [0] setup_marker_param(marker, {"symbol.size": 0, "symbol.alpha": 0.0, "sel_symbol.size": 0, "sel_symbol.alpha": 0.0, "line.color": "#909090", "line.width": 1.0, "line.style": "SolidLine", "sel_line.color": "#909090", "sel_line.width": 1.0, "sel_line.style": "SolidLine", "markerstyle": "VLine"}) marker.attach(self.plot) self.marker = marker self._setup_cursor_info(marker)
def _setup_cursor(self): marker = Marker(label_cb=self.plot.label_info, constraint_cb=self.plot.on_plot) marker.rts = [0] setup_marker_param( marker, { "symbol.size": 0, "symbol.alpha": 0.0, "sel_symbol.size": 0, "sel_symbol.alpha": 0.0, "line.color": "#909090", "line.width": 1.0, "line.style": "SolidLine", "sel_line.color": "#909090", "sel_line.width": 1.0, "sel_line.style": "SolidLine", "markerstyle": "VLine" }) marker.attach(self.plot) self.marker = marker self._setup_cursor_info(marker)
def marker( self, position=None, label_cb=None, constraint_cb=None, movable=True, readonly=False, markerstyle=None, markerspacing=None, color=None, linestyle=None, linewidth=None, marker=None, markersize=None, markerfacecolor=None, markeredgecolor=None, ): """ Make a marker `plot item` (:py:class:`guiqwt.shapes.Marker` object) * position: tuple (x, y) * label_cb: function with two arguments (x, y) returning a string * constraint_cb: function with two arguments (x, y) returning a tuple (x, y) according to the marker constraint * movable: if True (default), marker will be movable * readonly: if False (default), marker can be deleted * markerstyle: '+', '-', '|' or None * markerspacing: spacing between text and marker line * color: marker color name * linestyle: marker line style (MATLAB-like string or attribute name from the :py:class:`PyQt4.QtCore.Qt.PenStyle` enum (i.e. "SolidLine" "DashLine", "DotLine", "DashDotLine", "DashDotDotLine" or "NoPen") * linewidth: line width (pixels) * marker: marker shape (MATLAB-like string or "Cross", "Ellipse", "Star1", "XCross", "Rect", "Diamond", "UTriangle", "DTriangle", "RTriangle", "LTriangle", "Star2", "NoSymbol") * markersize: marker size (pixels) * markerfacecolor: marker face color name * markeredgecolor: marker edge color name """ param = MarkerParam(_("Marker"), icon="marker.png") param.read_config(CONF, "plot", "marker/cursor") if ( color or linestyle or linewidth or marker or markersize or markerfacecolor or markeredgecolor ): param.line = param.sel_line param.symbol = param.sel_symbol param.text = param.sel_text self.__set_baseparam( param, color, linestyle, linewidth, marker, markersize, markerfacecolor, markeredgecolor, ) param.sel_line = param.line param.sel_symbol = param.symbol param.sel_text = param.text if markerstyle: param.set_markerstyle(markerstyle) if markerspacing: param.spacing = markerspacing if not movable: param.symbol.marker = param.sel_symbol.marker = "NoSymbol" marker = Marker( label_cb=label_cb, constraint_cb=constraint_cb, markerparam=param ) if position is not None: x, y = position marker.set_pos(x, y) marker.set_readonly(readonly) if not movable: marker.set_movable(False) marker.set_resizable(False) return marker
def create_shape(self): self.label = None marker = Marker() marker.set_markerstyle('|') return marker