matplotlib.patches.Patch — Matplotlib 3.10.1 documentation (original) (raw)
class matplotlib.patches.Patch(*, edgecolor=None, facecolor=None, color=None, linewidth=None, linestyle=None, antialiased=None, hatch=None, fill=True, capstyle=None, joinstyle=None, **kwargs)[source]#
Bases: Artist
A patch is a 2D artist with a face color and an edge color.
If any of edgecolor, facecolor, linewidth, or _antialiased_are None, they default to their rc params setting.
The following kwarg properties are supported
contains(mouseevent, radius=None)[source]#
Test whether the mouse event occurred in the patch.
Parameters:
mouseeventMouseEvent
Where the user clicked.
radiusfloat, optional
Additional margin on the patch in target coordinates ofPatch.get_transform. See Path.contains_point for further details.
If None, the default value depends on the state of the object:
- If Artist.get_picker is a number, the default is that value. This is so that picking works as expected.
- Otherwise if the edge color has a non-zero alpha, the default is half of the linewidth. This is so that all the colored pixels are "in" the patch.
- Finally, if the edge has 0 alpha, the default is 0. This is so that patches without a stroked edge do not have points outside of the filled region report as "in" due to an invisible edge.
Returns:
(bool, empty dict)
contains_point(point, radius=None)[source]#
Return whether the given point is inside the patch.
Parameters:
point(float, float)
The point (x, y) to check, in target coordinates of.Patch.get_transform()
. These are display coordinates for patches that are added to a figure or Axes.
radiusfloat, optional
Additional margin on the patch in target coordinates ofPatch.get_transform. See Path.contains_point for further details.
If None, the default value depends on the state of the object:
- If Artist.get_picker is a number, the default is that value. This is so that picking works as expected.
- Otherwise if the edge color has a non-zero alpha, the default is half of the linewidth. This is so that all the colored pixels are "in" the patch.
- Finally, if the edge has 0 alpha, the default is 0. This is so that patches without a stroked edge do not have points outside of the filled region report as "in" due to an invisible edge.
Returns:
bool
Notes
The proper use of this method depends on the transform of the patch. Isolated patches do not have a transform. In this case, the patch creation coordinates and the point coordinates match. The following example checks that the center of a circle is within the circle
center = 0, 0 c = Circle(center, radius=1) c.contains_point(center) True
The convention of checking against the transformed patch stems from the fact that this method is predominantly used to check if display coordinates (e.g. from mouse events) are within the patch. If you want to do the above check with data coordinates, you have to properly transform them first:
center = 0, 0 c = Circle(center, radius=3) plt.gca().add_patch(c) transformed_interior_point = c.get_data_transform().transform((0, 2)) c.contains_point(transformed_interior_point) True
contains_points(points, radius=None)[source]#
Return whether the given points are inside the patch.
Parameters:
points(N, 2) array
The points to check, in target coordinates ofself.get_transform()
. These are display coordinates for patches that are added to a figure or Axes. Columns contain x and y values.
radiusfloat, optional
Additional margin on the patch in target coordinates ofPatch.get_transform. See Path.contains_point for further details.
If None, the default value depends on the state of the object:
- If Artist.get_picker is a number, the default is that value. This is so that picking works as expected.
- Otherwise if the edge color has a non-zero alpha, the default is half of the linewidth. This is so that all the colored pixels are "in" the patch.
- Finally, if the edge has 0 alpha, the default is 0. This is so that patches without a stroked edge do not have points outside of the filled region report as "in" due to an invisible edge.
Returns:
length-N bool array
Notes
The proper use of this method depends on the transform of the patch. See the notes on Patch.contains_point.
Draw the Artist (and its children) using the given renderer.
This has no effect if the artist is not visible (Artist.get_visiblereturns False).
Parameters:
rendererRendererBase subclass.
Notes
This method is overridden in the Artist subclasses.
property fill#
Return whether the patch is filled.
Alias for get_antialiased.
Return whether antialiasing is used for drawing.
Return the capstyle.
Return the Transform mapping data coordinates to physical coordinates.
Alias for get_edgecolor.
Return the edge color.
Return the Patch's axis-aligned extents as a Bbox.
Return the face color.
Alias for get_facecolor.
Return whether the patch is filled.
Return the hatching pattern.
get_hatch_linewidth()[source]#
Return the hatch linewidth.
Return the joinstyle.
Return the linestyle.
Return the line width in points.
Alias for get_linestyle.
Alias for get_linewidth.
get_patch_transform()[source]#
Return the Transform instance mapping patch coordinates to data coordinates.
For example, one may define a patch of a circle which represents a radius of 5 by providing coordinates for a unit circle, and a transform which scales the coordinates (the patch coordinate) by 5.
Return the path of this patch.
Return the Transform applied to the Patch.
Return a copy of the vertices used in this patch.
If the patch contains Bézier curves, the curves will be interpolated by line segments. To access the curves as curves, use get_path.
get_window_extent(renderer=None)[source]#
Get the artist's bounding box in display space.
The bounding box' width and height are nonnegative.
Subclasses should override for inclusion in the bounding box "tight" calculation. Default is to return an empty bounding box at 0, 0.
Be careful when using this function, the results will not update if the artist window extent of the artist changes. The extent can change due to any changes in the transform stack, such as changing the Axes limits, the figure size, or the canvas used (as is done when saving a figure). This can lead to unexpected behavior where interactive figures will look fine on the screen, but will save incorrectly.
set(*, agg_filter=, alpha=, animated=, antialiased=, capstyle=, clip_box=, clip_on=, clip_path=, color=, edgecolor=, facecolor=, fill=, gid=, hatch=, hatch_linewidth=, in_layout=, joinstyle=, label=, linestyle=, linewidth=, mouseover=, path_effects=, picker=, rasterized=, sketch_params=, snap=, transform=, url=, visible=, zorder=)[source]#
Set multiple properties at once.
Supported properties are
Alias for set_antialiased.
Set the alpha value used for blending - not supported on all backends.
Parameters:
alphafloat or None
alpha must be within the 0-1 range, inclusive.
Set whether to use antialiased rendering.
Parameters:
aabool or None
Set the CapStyle.
The default capstyle is 'round' for FancyArrowPatch and 'butt' for all other patches.
Parameters:
sCapStyle or {'butt', 'projecting', 'round'}
Set both the edgecolor and the facecolor.
Parameters:
See also
Patch.set_facecolor, Patch.set_edgecolor
For setting the edge or face color individually.
Alias for set_edgecolor.
Set the patch edge color.
Parameters:
colorcolor or None
Set the patch face color.
Parameters:
colorcolor or None
Alias for set_facecolor.
Set whether to fill the patch.
Parameters:
bbool
Set the hatching pattern.
hatch can be one of:
/ - diagonal hatching \ - back diagonal | - vertical
- horizontal
- crossed x - crossed diagonal o - small circle O - large circle . - dots
- stars
Letters can be combined, in which case all the specified hatchings are done. If same letter repeats, it increases the density of hatching of that pattern.
Parameters:
hatch{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
set_hatch_linewidth(lw)[source]#
Set the hatch linewidth.
Set the JoinStyle.
The default joinstyle is 'round' for FancyArrowPatch and 'miter' for all other patches.
Parameters:
sJoinStyle or {'miter', 'round', 'bevel'}
Set the patch linestyle.
Alternatively a dash tuple of the following form can be provided:
where onoffseq
is an even length tuple of on and off ink in points.
Parameters:
ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
The line style.
Set the patch linewidth in points.
Parameters:
wfloat or None
Alias for set_linestyle.
Alias for set_linewidth.
Copy properties from other to self.
zorder = 1#