RectanglePatchPlotElement
- class PlasmaCalcs.plotting.patches.RectanglePatchPlotElement(params, *, ax=None, transform=UNSET, **kw_super)
Bases:
PatchPlotElementplot a rectangle patch.
- params: dict
- dict of any rectangle patch related parameters.must contain ‘x0’ and ‘y0’.rectangle params are ‘x0’, ‘y0’, ‘width’, ‘height’.(x0 and y0 point to lower left corner unless negative width or height.units determined by
transform; default data units.) - transform: UNSET, ‘data’, ‘axes’, 2-tuple of (‘data’ or ‘axes’), or Transform object (default: UNSET)
- indicate coordinate system to use for x and y inputs.single string –> x and y both in this coordinate system.tuple –> xy[0] tells x system; xy[1] tells y system.‘data’ coords means input values match data values.‘axes’ coords means input values correspond to distance across axis:for x: left=0, right=1.for y: bottom=0, top=1.
‘height’ and ‘width’ may either be specified viaparamsor as additional kwargs.Additional kwargs can be any patch params (with same key as in matplotlib) or PlotSettings.E.g. ‘angle’, ‘facecolor’, ‘hatch’.See also: XarrayRectanglePatch, LimsPatchPlotElementMethods
__init_subclass__(*args_super, **kw)appends note about using self.plot_settings, to cls.__doc__.
initialize the patch; actually draw the patch on self.ax.
legend_handle(*[, hatch_density_scaling, label])returns a Patch suitable for use as a handle in a legend.
update_data(data)updating the plot using data['params'].
returns full list of all known patch params to use, i.e.:
_params_to_patch_init_kwargs(params)returns kwargs to use for initializing the patch, based on these params.
_params_to_patch_update_kwargs(params)returns kwargs to use for updating the patch, based on these params.
_set_patch_params(**params)update the parameters of self.patch.
_transform_kw(ax)get transform to use for this patch, as dict.
Attributes
MPL_SETTERSPATCH_SETTINGS_LOOKUPthe axes containing this patch
the figure containing this patch
dict of patch parameters.
the matplotlib.patches.Patch object
- classmethod __init_subclass__(*args_super, **kw)
appends note about using self.plot_settings, to cls.__doc__.
if “PlotSettings” or “plot_settings” appears in cls.__doc__, do NOT append this note;assuming instead that this means the doc already mentions how to use plot_settings.
- _all_patch_params(ax)
returns full list of all known patch params to use, i.e.:
{**params_settings, **params_init}, where:params_settings = self.plot_settings.get_mpl_kwargs(self.PATCH_SETTINGS_LOOKUP)params_init = self._params_to_patch_init_kwargs()
- _params_to_patch_init_kwargs(params)
returns kwargs to use for initializing the patch, based on these params.
The implementation here joins ‘x’ and ‘y’ into ‘xy’, but keeps other params unchanged.
- _params_to_patch_update_kwargs(params)
returns kwargs to use for updating the patch, based on these params.
The implementation here renames ‘x0’ and ‘y0’ to ‘x’ and ‘y’, but keeps other params unchanged.
- _set_patch_params(**params)
update the parameters of self.patch.
- params: dict
- dict of patch parameters.All must be provideable during (type of patch).__init__.Many are probably settable directly via patch.set(**params).E.g. ‘width’ and ‘height’ are options for rectangle patch.Some might not be settable directly; see self.MPL_SETTERS and help(self) for details.
- _transform_kw(ax)
get transform to use for this patch, as dict.
result is probably dict(transform=Transform object), but might be empty dict().requires that self.ax is not None.
- property ax
the axes containing this patch
- property fig
the figure containing this patch
- init_patch()
initialize the patch; actually draw the patch on self.ax.
stores plotted object in self.patch and returns self.patch.
- legend_handle(*, hatch_density_scaling=2, label=UNSET)
returns a Patch suitable for use as a handle in a legend.
- hatch_density_scaling: int
- increase the hatch density by this factor, relative to the plot itself, if using hatches.
- label: UNSET or str
- if not UNSET, use this as the label, instead of self.plot_settings[‘label’]
Example:handle1 = self.legend_handle()handle2 = other_patch_element.legend_handle()plt.legend(handles=[handle1, handle2])
- property params
dict of patch parameters. Internally, stored at self.data[‘params’]
- property patch
the matplotlib.patches.Patch object
- patch_cls
alias of
Rectangle
- update_data(data)
updating the plot using data[‘params’].
return the list of all updated matplotlib Artist objects (i.e., [self.patch])