LimsPatchPlotElement
- class PlasmaCalcs.plotting.patches.LimsPatchPlotElement(params, *, ax=None, transform=UNSET, **kw_super)
Bases:
RectanglePatchPlotElementplot a rectangle patch, from xmin, xmax, ymin, ymax, instead of x0, y0, width, height.
params: dict
dict of any rectangle patch related parameters.must contain (‘xmin’ and ‘xmax’) and/or (‘ymin’ and ‘ymax’).units determined bytransform; default ‘data’ units.if xlims not provided, transform[0] must allow ‘axes’ units (will put 0 to 1, i.e. fill horizontally)if ylims not provided, transform[1] must allow ‘axes’ units (will put 0 to 1, i.e. fill vertically)(if transform restricted above but not input directly,default to ‘axes’ units where necessary, and ‘data’ units elsewhere.)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.See also: XarrayLimsPatch, RectanglePatchPlotElementTo view or adjust plot settings in self, see self.plot_settings, or help(self.plot_settings).Methods
__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_lims_and_transform(params)get (xmin, xmax, ymin, ymax, transform), from dict of params,
_params_to_patch_init_kwargs(params)returns kwargs to use for initializing the patch, based on self.params.
_params_to_patch_update_kwargs(params)returns kwargs to use for updating the patch, based on self.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_lims_and_transform(params)
get (xmin, xmax, ymin, ymax, transform), from dict of params,
and self.plot_settings[‘transform’]
- _params_to_patch_init_kwargs(params)
returns kwargs to use for initializing the patch, based on self.params.
The implementation converts xmin, xmax, ymin, ymax, into x0, y0, width, height,then calls super()._params_to_patch_init_kwargs() on the result.The implementation here also sets self.plot_settings[‘transform’].
- _params_to_patch_update_kwargs(params)
returns kwargs to use for updating the patch, based on self.params.
The implementation converts xmin, xmax, ymin, ymax, into x0, y0, width, height,then calls super()._params_to_patch_update_kwargs() on the result.
- _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 strif 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])