def __init__(self, fig, rect=None, **kwargs): if rect == None: rect = [0.1,0.1,0.8,0.8] self.season = kwargs.pop('season',1) self.ra_direction = kwargs.pop('ra_direction',1) # center coordinate in (RA, Dec) self.center = get_kepler_center(season=self.season) # self.center must be set before Axes.__init__, because Axes.__init__ # calls axes.cla(), which in turns calls set_ylim(), which is # overwritten in this class. self.ref_dec1, self.ref_dec2 = 20., 50. Axes.__init__(self, fig, rect, **kwargs) # prepare for the draw the ticks on the top & right axis self.twiny = self.twiny() self.twinx = self.twinx() #self.set_aspect(1.0) self.set_ra_ticks(5) self.set_dec_ticks(5) self.set_lim(self.center[0]-11, self.center[0]+11, self.center[1]-9, self.center[1]+9)
def __init__(self, fig, rect, *args, **kwargs): self.aln = kwargs.pop("aln") nrows = len(self.aln) ncols = self.aln.get_alignment_length() self.alnidx = numpy.arange(ncols) self.app = kwargs.pop("app", None) self.showy = kwargs.pop('showy', True) Axes.__init__(self, fig, rect, *args, **kwargs) rgb = mpl_colors.colorConverter.to_rgb gray = rgb('gray') d = defaultdict(lambda:gray) d["A"] = rgb("red") d["a"] = rgb("red") d["C"] = rgb("blue") d["c"] = rgb("blue") d["G"] = rgb("green") d["g"] = rgb("green") d["T"] = rgb("yellow") d["t"] = rgb("yellow") self.cmap = d self.selector = RectangleSelector( self, self.select_rectangle, useblit=True ) def f(e): if e.button != 1: return True else: return RectangleSelector.ignore(self.selector, e) self.selector.ignore = f self.selected_rectangle = Rectangle( [0,0],0,0, facecolor='white', edgecolor='cyan', alpha=0.3 ) self.add_patch(self.selected_rectangle) self.highlight_find_collection = None
def __init__(self, fig, rect=None, *args, **kwargs): if rect is None: rect = [0.0, 0.0, 1.0, 1.0] self.fig = fig self.cids = [] azim = kwargs.pop("azim", -60) elev = kwargs.pop("elev", 30) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() self.xy_dataLim = unit_bbox() self.zz_dataLim = unit_bbox() # inihibit autoscale_view until the axises are defined # they can't be defined until Axes.__init__ has been called self.view_init(elev, azim) self._ready = 0 Axes.__init__(self, self.fig, rect, frameon=True, xticks=[], yticks=[], *args, **kwargs) self.M = None self._ready = 1 self.mouse_init() self.create_axes() self.set_top_view() self.axesPatch.set_linewidth(0) self.fig.add_axes(self)
def __init__(self, fig, rect, parent, transform=IDENTITY, xcoord_type='scalar', ycoord_type='scalar', adjustable='datalim'): self.fig = fig self.rect = rect self._parent = parent Axes.__init__(self, fig, rect, adjustable=adjustable) self.xaxis.set_ticks_position('top') self.yaxis.set_ticks_position('right') self.set_frame_on(False) self.set_transform(transform=transform, xcoord_type=xcoord_type, ycoord_type=ycoord_type) self.xaxis.set_major_formatter(NullFormatter()) self.yaxis.set_major_formatter(NullFormatter()) fig.add_axes(self)
def __init__(self, fig, rect, transform=IDENTITY, xcoord_type='scalar', ycoord_type='scalar', adjustable='datalim', parent=None): self.fig = fig self.rect = rect self._parent = parent Axes.__init__(self, fig, rect, adjustable=adjustable) self.xaxis.set_ticks_position('bottom') self.yaxis.set_ticks_position('left') fig.add_axes(self) self.twin = ParasiteAxes(fig, rect, self) self.other = {} self.set_transform(transform=transform, xcoord_type=xcoord_type, ycoord_type=ycoord_type)
def __init__(self, fig, rect=None, **kwargs): if rect == None: rect = [0.1, 0.1, 0.8, 0.8] self.season = kwargs.pop('season', 1) self.ra_direction = kwargs.pop('ra_direction', 1) # center coordinate in (RA, Dec) self.center = get_kepler_center(season=self.season) # self.center must be set before Axes.__init__, because Axes.__init__ # calls axes.cla(), which in turns calls set_ylim(), which is # overwritten in this class. self.ref_dec1, self.ref_dec2 = 20., 50. Axes.__init__(self, fig, rect, **kwargs) # prepare for the draw the ticks on the top & right axis self.twiny = self.twiny() self.twinx = self.twinx() #self.set_aspect(1.0) self.set_ra_ticks(5) self.set_dec_ticks(5) self.set_lim(self.center[0] - 11, self.center[0] + 11, self.center[1] - 9, self.center[1] + 9)
def __init__(self, fig, rect=None, *args, **kwargs): if rect is None: rect = [0.0, 0.0, 1.0, 1.0] self.fig = fig self.cids = [] azim = kwargs.pop('azim', -60) elev = kwargs.pop('elev', 30) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() self.xy_dataLim = unit_bbox() self.zz_dataLim = unit_bbox() # inihibit autoscale_view until the axises are defined # they can't be defined until Axes.__init__ has been called self.view_init(elev, azim) self._ready = 0 Axes.__init__(self, self.fig, rect, frameon=True, xticks=[], yticks=[], *args, **kwargs) self.M = None self._ready = 1 self.mouse_init() self.create_axes() self.set_top_view() self.axesPatch.set_linewidth(0) self.fig.add_axes(self)
def __init__(self, *args, **kwargs): # This needs to be popped and set before moving on self.rot = kwargs.pop('rotation', 45) # set booleans to keep track of extra axes that are plotted self._mixing_lines = [] self._dry_adiabats = [] self._moist_adiabats = [] Axes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. """ self._rpad = 0.05 Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): self.ra_0 = None self.dec_0 = None self.dec_1 = None self.dec_2 = None Axes.__init__(self, *args, **kwargs) self.cla()
def __init__(self, *args, **kwargs): self.ra0 = None self.dec0 = None self.dec1 = None self.dec2 = None Axes.__init__(self, *args, **kwargs) self.cla()
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. """ self._rpad = 0.05 self.resolution = kwargs.pop('resolution', self.RESOLUTION) Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): self._memmap = kwargs.pop('memmap') self._sample_rate = kwargs.pop('sample_rate') self._num_samples = kwargs.pop('num_samples') limits = kwargs.pop('limits') self._limits = self._get_buffer_bounds(*limits) self._scale = kwargs.pop('scale', self.default_scale) self._pixel_density = kwargs.pop('pixel_density', self.default_pixel_density) Axes.__init__(self, *args, **kwargs) self._reload_buffer()
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. """ self._default_theta_offset = kwargs.pop('theta_offset', 0) self._default_theta_direction = kwargs.pop('theta_direction', 1) self._default_rlabel_position = kwargs.pop('rlabel_position', 22.5) Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, fig, rect=None, *args, **kwargs): ''' Build an :class:`Axes3D` instance in :class:`~matplotlib.figure.Figure` *fig* with *rect=[left, bottom, width, height]* in :class:`~matplotlib.figure.Figure` coordinates Optional keyword arguments: ================ ========================================= Keyword Description ================ ========================================= *azim* Azimuthal viewing angle (default -60) *elev* Elevation viewing angle (default 30) ================ ========================================= ''' if rect is None: rect = [0.0, 0.0, 1.0, 1.0] self.fig = fig self._cids = [] self.initial_azim = kwargs.pop('azim', -60) self.initial_elev = kwargs.pop('elev', 30) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() self.xy_dataLim = unit_bbox() self.zz_dataLim = unit_bbox() # inihibit autoscale_view until the axes are defined # they can't be defined until Axes.__init__ has been called self.view_init(self.initial_elev, self.initial_azim) self._ready = 0 Axes.__init__(self, self.fig, rect, frameon=True, xticks=[], yticks=[], *args, **kwargs) self.M = None self._ready = 1 self.mouse_init() self.create_axes() self.set_top_view() self.axesPatch.set_linewidth(0) self.fig.add_axes(self)
def __init__(self, fig, rect, tf=None, *args, **kwargs): self.root = None self.tf = tf self.plottype = kwargs.pop("plottype", "phylogram") self.app = kwargs.pop("app", None) self.support = kwargs.pop("support", 70.0) self.scaled = kwargs.pop("scaled", True) self._mark_named = kwargs.pop("mark_named", True) self.name = None self.leaf_fontsize = kwargs.pop("leaf_fontsize", 10) self.branch_fontsize = kwargs.pop("branch_fontsize", 10) self.branch_width = kwargs.pop("branch_width", 1) self.branch_color = kwargs.pop("branch_color", "black") self.interactive = kwargs.pop("interactive", True) self.leaflabels = kwargs.pop("leaflabels", True) self.branchlabels = kwargs.pop("branchlabels", True) self.direction = kwargs.pop("direction", "rightwards") self.leaf_anchor = "left" if self.direction == "rightwards" else "right" self.branch_anchor = self.leaf_anchor ## if self.decorators: ## print >> sys.stderr, "got %s decorators" % len(self.decorators) self.xoff = kwargs.pop("xoff", 0) self.yoff = kwargs.pop("yoff", 0) self.smooth_xpos = kwargs.pop("smooth_xpos", 0) Axes.__init__(self, fig, rect, *args, **kwargs) self.nleaves = 0 self.pan_start = None self.selector = RectangleSelector(self, self.rectselect, useblit=True) self._active = False def f(e): if e.button != 1: return True else: return RectangleSelector.ignore(self.selector, e) self.selector.ignore = f self.xoffset_value = 0.05 self.selected_nodes = set() # self.leaf_offset = 4 # self.leaf_valign = "center" # self.leaf_halign = "left" # self.branch_offset = -5 # self.branch_valign = "center" # self.branch_halign = "right" self.spines["top"].set_visible(False) self.spines["left"].set_visible(False) self.spines["right"].set_visible(False) self.xaxis.set_ticks_position("bottom") self.node2label = {} self.label_extents = {} self.leaf_pixelsep
def __init__(self, *args, **kwargs): r"""Initialize `SkewXAxes`. Parameters ---------- args : Arbitrary positional arguments Passed to :class:`matplotlib.axes.Axes` position: int, optional The rotation of the x-axis against the y-axis, in degrees. kwargs : Arbitrary keyword arguments Passed to :class:`matplotlib.axes.Axes` """ # This needs to be popped and set before moving on self.rot = kwargs.pop('rotation', 30) Axes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): '''Create the axes. Should not be used directly, but via the matplotlib ``projection`` keyword argument. Parameters ========== arena : :class:`~gridcells.core.arena.Arena` Are that will be used for plotting. This has to be specified as a keyword argument to matplotlib's :meth:`Figure.add_subplot` or :meth:`Figure.add_axes`. ''' self._arena = kwargs.pop('arena') MplAxes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): self.wcsBbox = (0, 0), (1, 1) ref = (0, 50) s = 1.0 self.wcs = kapu.Wcs(ref, ["RA---AIT", "DEC--AIT"], [s,0,0, s], (1,1), (0, 0), (0,0), [1,0,0,1], 1|2|4, [(1,0,1), (2,1,1)] ) #self.wcs = StereoGraphicProjection() self.transformation = NoTransformation() Axes.__init__(self, *args, **kwargs) #self.dirty = True #self.xbounds = (0, 1) #self.ybounds = (0, 1) #self.range = self.getWcsBbox() #self.set_aspect('auto') #self.cla() self.wcsgrid = WcsGrid(self) self.collections.append(self.wcsgrid)
def __init__(self, *args, **kwargs): """ New constructor """ pmin = kwargs.pop('pmin', 100) pmax = kwargs.pop('pmax', 1050) tmax = kwargs.pop('tmax', 50) tmin = kwargs.pop('tmin', -30) _ = kwargs.pop('yscale', None) _ = kwargs.pop('xscale', None) Axes.__init__(self, yscale='log', xscale='linear', *args, **kwargs) self.setLimits(tmin=tmin, tmax=tmax, pmin=pmin, pmax=pmax) self.other_housekeeping() P = logspace(log10(pmax), log10(pmin), 100) self.linesHandlers = list() self.linesLabels = list() w = array([ 0.00001, 0.0001, 0.0004, 0.001, 0.002, 0.004, 0.007, 0.01, 0.016, 0.024, 0.032 ]) self.add_mixratio_isopleths(w, P[P >= 700], color='g', ls='--', alpha=1., lw=0.5) self.add_dry_adiabats(linspace(250, 500, 18) - degCtoK, P, color='g', ls='--', alpha=1., lw=0.5) self.add_moist_adiabats(linspace(0, 44, 12), pmax, color='g', ls='--', alpha=1., lw=0.5) self.set_title("Sounding")
def __init__(self, fig, rect=None, *args, **kwargs): ''' Build an :class:`Axes3D` instance in :class:`~matplotlib.figure.Figure` *fig* with *rect=[left, bottom, width, height]* in :class:`~matplotlib.figure.Figure` coordinates Optional keyword arguments: ================ ========================================= Keyword Description ================ ========================================= *azim* Azimuthal viewing angle (default -60) *elev* Elevation viewing angle (default 30) ================ ========================================= ''' if rect is None: rect = [0.0, 0.0, 1.0, 1.0] self._cids = [] self.initial_azim = kwargs.pop('azim', -60) self.initial_elev = kwargs.pop('elev', 30) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() self.xy_dataLim = unit_bbox() self.zz_dataLim = unit_bbox() # inihibit autoscale_view until the axes are defined # they can't be defined until Axes.__init__ has been called self.view_init(self.initial_elev, self.initial_azim) self._ready = 0 Axes.__init__(self, fig, rect, frameon=True, *args, **kwargs) # Disable drawing of axes by base class Axes.set_axis_off(self) self._axis3don = True self.M = None self._ready = 1 self.mouse_init() self.set_top_view() self.axesPatch.set_linewidth(0) self.figure.add_axes(self)
def __init__(self, *args, **kwargs): # Sum of a, b, and c self.total = 1.0 # Offset angle [deg] of these axes relative to the c, a axes. self.angle = self.get_angle() # Height of the ternary outline (in axis units) self.height = 0.8 # Vertical distance between the y axis and the base of the ternary plot # (in axis units) self.elevation = 0.05 Axes.__init__(self, *args, **kwargs) self.cla() self.set_aspect(aspect='equal', adjustable='box-forced', anchor='C') # C is for center.
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. The following optional kwargs are supported: - *resolution*: The number of points of interpolation between each pair of data points. Set to 1 to disable interpolation. """ self._rpad = 0.05 self.resolution = kwargs.pop('resolution', None) if self.resolution not in (None, 1): warnings.warn( """The resolution kwarg to Polar plots is now ignored. If you need to interpolate data points, consider running cbook.simple_linear_interpolation on the data before passing to matplotlib.""") Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. The following optional kwargs are supported: - *resolution*: The number of points of interpolation between each pair of data points. Set to 1 to disable interpolation. """ self._rpad = 0.05 self.resolution = kwargs.pop('resolution', None) if self.resolution is None: self.resolution = self.RESOLUTION Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, model: GraphAxesModel, figure: Figure, canvas: FigureCanvasBase, rect, *args, **kwargs): Axes.__init__( self, figure, rect, xscale=self.convertScale(model.xScale), yscale=self.convertScale(model.yScale), xlabel=model.xLabel, ylabel=model.yLabel, xlim=(model.xMinimum, model.xMaximum), ylim=(model.yMinimum, model.yMaximum), facecolor=self.convertColor(model.faceColor), *args, **kwargs) View.__init__(self, canvas) # Data model reference self.model = model # Signal and slot connections self.model.hasChanged.connect(self.onHasChanged)
def __init__(self, *args, **kwargs): """ Create a new Polar Axes for a polar plot. The following optional kwargs are supported: - *resolution*: The number of points of interpolation between each pair of data points. Set to 1 to disable interpolation. """ self.resolution = kwargs.pop('resolution', None) if self.resolution not in (None, 1): warnings.warn( """The resolution kwarg to Polar plots is now ignored. If you need to interpolate data points, consider running cbook.simple_linear_interpolation on the data before passing to matplotlib.""") Axes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): ''' Builds a new :class:`SmithAxes` instance. For futher details see: :meth:`update_scParams` :class:`matplotlib.axes.Axes` ''' self.scParams = self.scDefaultParams.copy() # get parameter for Axes and remove from kwargs axes_kwargs = {} for key in kwargs.copy(): key_dot = key.replace("_", ".") if not (key_dot in self.scParams): axes_kwargs[key] = kwargs.pop(key_dot) self.update_scParams(**kwargs) Axes.__init__(self, *args, **axes_kwargs) self.set_aspect(1, adjustable='box', anchor='C')
def __init__(self, fig, rect, *args, **kwargs): self.app = kwargs.pop("app", None) self.support = kwargs.pop("support", 70.0) self.snap = kwargs.pop("snap", True) self.scaled = kwargs.pop("scaled", True) self.leaflabels = kwargs.pop("leaflabels", True) self.branchlabels = kwargs.pop("branchlabels", True) self._mark_named = kwargs.pop("mark_named", True) self.name = None Axes.__init__(self, fig, rect, *args, **kwargs) self.nleaves = 0 self.callbacks.connect("ylim_changed", self.draw_labels) self.highlighted = None self.highlightpatch = None self.pan_start = None self.decorators = { "__selected_nodes__": (Tree.highlight_selected_nodes, [], {}) } self.decorations = Storage() self._active = False self.selector = RectangleSelector(self, self.rectselect, useblit=True) def f(e): if e.button != 1: return True else: return RectangleSelector.ignore(self.selector, e) self.selector.ignore = f self.xoffset_value = 0.05 self.selected_nodes = set() self.leaf_offset = 4 self.leaf_valign = "center" self.leaf_halign = "left" self.leaf_fontsize = 10 self.branch_offset = -5 self.branch_valign = "center" self.branch_halign = "right" self.branch_fontsize = 10 self.spines["top"].set_visible(False) self.spines["left"].set_visible(False) self.spines["right"].set_visible(False) self.xaxis.set_ticks_position("bottom")
def __init__(self, fig, rect=None, *args, **kwargs): if rect is None: rect = [0.0, 0.0, 1.0, 1.0] self.fig = fig self.cids = [] azim = kwargs.pop('azim', -60) elev = kwargs.pop('elev', 30) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() self.xy_dataLim = unit_bbox() self.zz_dataLim = unit_bbox() self.view_init(elev, azim) self._ready = 0 Axes.__init__(self, self.fig, rect, frameon=True, xticks=[], yticks=[], *args, **kwargs) self.M = None self._ready = 1 self.mouse_init() self.create_axes() self.set_top_view() self.axesPatch.set_linewidth(0) self.fig.add_axes(self)
def __init__(self, *args, **kwargs): Axes.__init__(self, *args, **kwargs) self.triangle_transform = Affine2D([[0.5, sqrt(3) / 2], [1, 0]]) self.cla()
def __init__(self, *args, **kwargs): # this is the Ginga object self.viewer = kwargs.pop('viewer', None) Axes.__init__(self, *args, **kwargs) ## self.set_aspect(0.5, adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): kwargs.pop('myclass', None) return Axes.__init__(self, *args, **kwargs)
def __init__( self, fig, rec, axisbg=None, # defaults to rc axes.facecolor frameon=True, sharex=None, sharey=None, label="", xscale=None, yscale=None, **kwargs): mpl_Axes.__init__(self, fig, rec, axisbg, frameon, sharex, sharey, label, xscale, yscale, **kwargs) evt.EventSource.__init__(self) # zoom properties self.zoom_stack = [] self.zoom_rect = None # move properties self.xypress = None self.original_view_dim = None # legend self.plegend = None self.mouse_on_legend = False # locking axes self.xlock = False self.ylock = False # move with canvas self.moving_flag = False # redraw properties (backgrounds) self.cross_bg = None self.rect_bg = None # coonect standard features, for Kaira graphs # updade background after change window fig.canvas.mpl_connect("draw_event", self._update_background) # register left button click fig.canvas.mpl_connect("button_press_event", self._drag_point) fig.canvas.mpl_connect("button_release_event", self._drop_point) # register drawing of position cross fig.canvas.mpl_connect("motion_notify_event", self._draw_cross) # register zooming methods fig.canvas.mpl_connect("motion_notify_event", self._draw_rectangle) fig.canvas.mpl_connect("button_release_event", self._zoom_in) fig.canvas.mpl_connect("button_press_event", self._zoom_out) # register moving events fig.canvas.mpl_connect("button_press_event", self._move_start) fig.canvas.mpl_connect("motion_notify_event", self._moving) fig.canvas.mpl_connect("key_press_event", self._switch_moving_flag_action) # register axes locking events fig.canvas.mpl_connect("key_press_event", self._switch_xlock_action) fig.canvas.mpl_connect("key_release_event", self._switch_xlock_action) fig.canvas.mpl_connect("key_press_event", self._switch_ylock_action) fig.canvas.mpl_connect("key_release_event", self._switch_ylock_action) # register event which stop is drawing cross if it's cursorn over legend fig.canvas.mpl_connect("motion_notify_event", self._mouse_over_legend)
def __init__(self, *args, **kwargs): Axes.__init__(self, *args, **kwargs) self.set_aspect(0.5, adjustable="box", anchor="C") self.cla()
def __init__(self, *args, myclass=None, **kwargs): return Axes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): # This needs to be popped and set before moving on self.rot = kwargs.pop('rotation', 30) Axes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): Axes.__init__(self, *args, **kwargs) self.filename = kwargs.pop('filename', '') self.dataset = kwargs.pop('dataset', '/img') self.frame_number = kwargs.pop('frame_number', 0) self.scaled = kwargs.pop('scaled', False)
def __init__(self, *k, **kw): Axes.__init__(self, *k, **kw) self.HFTOOLS_default_x_name = None
def __init__(self, *args, **kwargs): Axes.__init__(self, *args, **kwargs) self.set_aspect(0.5, adjustable='box', anchor='C') self.cla()
def __init__(self, *args, **kwargs): self.__patches_hist = [] Axes.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): Axes.__init__(self, *args, **kwargs) self.set_aspect(1, adjustable='box', anchor='SW') self.cla()
def __init__(self, fig, rec, axisbg=None, # defaults to rc axes.facecolor frameon=True, sharex=None, sharey=None, label="", xscale=None, yscale=None, **kwargs): mpl_Axes.__init__( self, fig, rec, axisbg, frameon, sharex, sharey, label, xscale, yscale, **kwargs) evt.EventSource.__init__(self) # zoom properties self.zoom_stack = [] self.zoom_rect = None # move properties self.xypress = None self.original_view_dim = None # legend self.plegend = None self.mouse_on_legend = False # locking axes self.xlock = False self.ylock = False # move with canvas self.moving_flag = False # redraw properties (backgrounds) self.cross_bg = None self.rect_bg = None # coonect standard features, for Kaira graphs # updade background after change window fig.canvas.mpl_connect("draw_event", self._update_background) # register left button click fig.canvas.mpl_connect("button_press_event", self._drag_point) fig.canvas.mpl_connect("button_release_event", self._drop_point) # register drawing of position cross fig.canvas.mpl_connect("motion_notify_event", self._draw_cross) # register zooming methods fig.canvas.mpl_connect("motion_notify_event", self._draw_rectangle) fig.canvas.mpl_connect("button_release_event", self._zoom_in) fig.canvas.mpl_connect("button_press_event", self._zoom_out) # register moving events fig.canvas.mpl_connect("button_press_event", self._move_start) fig.canvas.mpl_connect("motion_notify_event", self._moving) fig.canvas.mpl_connect( "key_press_event", self._switch_moving_flag_action) # register axes locking events fig.canvas.mpl_connect("key_press_event", self._switch_xlock_action) fig.canvas.mpl_connect("key_release_event", self._switch_xlock_action) fig.canvas.mpl_connect("key_press_event", self._switch_ylock_action) fig.canvas.mpl_connect("key_release_event", self._switch_ylock_action) # register event which stop is drawing cross if it's cursorn over legend fig.canvas.mpl_connect("motion_notify_event", self._mouse_over_legend)