PlasmaCalcs.plotting.patches.PatchPlotElement
- class PlasmaCalcs.plotting.patches.PatchPlotElement(params, *, ax=None, transform=UNSET, **kw_super)
Bases:
MoviePlotElementplot a 2D Patch.Base class for useable 2D patch plot elements, e.g. XarrayRectanglePatchPlotElement.- params: dict
- dict of patch-related parameters.Many are probably settable directly via patch.set(**params).E.g. ‘width’ and ‘height’ are options for rectangle patch.
- 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.
cls.MPL_SETTERS: dict of {param key: how to set that param}for params with nonstandard setters in matplotlib, tells the alternative to patch.set(k=value):{str k: str v} –> patch.set(v=value){str k: (str attr, str v)} –> patch.attr(v=value)Examples:- for Annulus patch, need MPL_SETTERS[‘r’] = ‘radii’,because patch.set(r=value) isn’t allowed; it’s patch.set(radii=value) instead.- for Arrow patch, need MPL_SETTERS[‘x’] = (‘set_data’, ‘x’),because patch.set(x=value) isn’t allowed; it’s patch.set_data(x=value) instead.To view or adjust plot settings in self, see self.plot_settings, or help(self.plot_settings).- __init__(params, *, ax=None, transform=UNSET, **kw_super)
Methods
__init__(params, *[, ax, transform])legend_handle(*[, hatch_density_scaling, label])update_data(data)Attributes
MPL_SETTERSPATCH_SETTINGS_LOOKUPpatch_cls- 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
- update_data(data)
- updating the plot using data[‘params’].return the list of all updated matplotlib Artist objects (i.e., [self.patch])