matplotlib.patches.RegularPolygon   classmatplotlib.patches.RegularPolygon(xy, numVertices, radius=5, orientation=0, **kwargs)[source]

Bases: matplotlib.patches.Patch A regular polygon patch.  Parameters

xy(float, float)

The center position.
numVerticesint

The number of vertices.
radiusfloat

The distance from the center to each of the vertices.
orientationfloat

The polygon rotation angle (in radians).  **kwargs

Patch properties:
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha unknown
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float         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.
   get_path()[source]

Return the path of this patch.
   set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float

  Examples using matplotlib.patches.RegularPolygon

   Reference for Matplotlib artists

   Radar chart (aka spider or star chart)


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.


get_path()[source]

Return the path of this patch.


set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float


matplotlib.patches.Shadow   classmatplotlib.patches.Shadow(patch, ox, oy, **kwargs)[source]

Bases: matplotlib.patches.Patch Create a shadow of the given patch. By default, the shadow will have the same face color as the patch, but darkened.  Parameters

patchPatch

The patch to create the shadow for.
ox, oyfloat

The shift of the shadow in data coordinates, scaled by a factor of dpi/72.  **kwargs

Properties of the shadow patch. Supported keys are:
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha unknown
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float         draw(renderer)[source]

Draw the Artist (and its children) using the given renderer. This has no effect if the artist is not visible (Artist.get_visible returns False).  Parameters

rendererRendererBase subclass.

   Notes This method is overridden in the Artist subclasses.
   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.
   get_path()[source]

Return the path of this patch.
   set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float

  Examples using matplotlib.patches.Shadow

   Using a text as a Path

   SVG Filter Pie


draw(renderer)[source]

Draw the Artist (and its children) using the given renderer. This has no effect if the artist is not visible (Artist.get_visible returns False).  Parameters

rendererRendererBase subclass.

   Notes This method is overridden in the Artist subclasses.


matplotlib.patches.StepPatch   classmatplotlib.patches.StepPatch(values, edges, *, orientation='vertical', baseline=0, **kwargs)[source]

Bases: matplotlib.patches.PathPatch A path patch describing a stepwise constant function. By default the path is not closed and starts and stops at baseline value.  Parameters

valuesarray-like

The step heights.
edgesarray-like

The edge positions, with len(edges) == len(vals) + 1, between which the curve takes on vals values.
orientation{'vertical', 'horizontal'}, default: 'vertical'

The direction of the steps. Vertical means that values are along the y-axis, and edges are along the x-axis.
baselinefloat, array-like or None, default: 0

The bottom value of the bounding edges or when fill=True, position of lower edge. If fill is True or an array is passed to baseline, a closed path is drawn.  Other valid keyword arguments are:

Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha unknown
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float         get_data()[source]

Get StepPatch values, edges and baseline as namedtuple.
   set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, data=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
data 1D array-like or None
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path unknown
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float
   set_data(values=None, edges=None, baseline=None)[source]

Set StepPatch values, edges and baseline.  Parameters

values1D array-like or None

Will not update values, if passing None
edges1D array-like, optional

baselinefloat, 1D array-like or None

  Examples using matplotlib.patches.StepPatch

   Stairs Demo


get_data()[source]

Get StepPatch values, edges and baseline as namedtuple.


set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, data=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
data 1D array-like or None
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path unknown
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float


set_data(values=None, edges=None, baseline=None)[source]

Set StepPatch values, edges and baseline.  Parameters

values1D array-like or None

Will not update values, if passing None
edges1D array-like, optional

baselinefloat, 1D array-like or None


matplotlib.patches.Wedge   classmatplotlib.patches.Wedge(center, r, theta1, theta2, width=None, **kwargs)[source]

Bases: matplotlib.patches.Patch Wedge shaped patch. A wedge centered at x, y center with radius r that sweeps theta1 to theta2 (in degrees). If width is given, then a partial wedge is drawn from inner radius r - width to outer radius r. Valid keyword arguments are:
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha unknown
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float     get_path()[source]

Return the path of this patch.
   set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, center=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, radius=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, theta1=<UNSET>, theta2=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
center unknown
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
radius unknown
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
theta1 unknown
theta2 unknown
transform Transform
url str
visible bool
width unknown
zorder float
   set_center(center)[source]

   set_radius(radius)[source]

   set_theta1(theta1)[source]

   set_theta2(theta2)[source]

   set_width(width)[source]

  Examples using matplotlib.patches.Wedge

   Labeling a pie and a donut

   Reference for Matplotlib artists

   Circles, Wedges and Polygons

   SVG Filter Pie


set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, center=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, radius=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, theta1=<UNSET>, theta2=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, width=<UNSET>, zorder=<UNSET>)[source]

Set multiple properties at once. Supported properties are
Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha scalar or None
animated bool
antialiased or aa bool or None
capstyle CapStyle or {'butt', 'projecting', 'round'}
center unknown
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
edgecolor or ec color or None
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle JoinStyle or {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
radius unknown
rasterized bool
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
theta1 unknown
theta2 unknown
transform Transform
url str
visible bool
width unknown
zorder float


matplotlib.path A module for dealing with the polylines used throughout Matplotlib. The primary class for polyline handling in Matplotlib is Path. Almost all vector drawing makes use of Paths somewhere in the drawing pipeline. Whilst a Path instance itself cannot be drawn, some Artist subclasses, such as PathPatch and PathCollection, can be used for convenient Path visualisation.   classmatplotlib.path.Path(vertices, codes=None, _interpolation_steps=1, closed=False, readonly=False)[source]

Bases: object A series of possibly disconnected, possibly closed, line and curve segments. The underlying storage is made up of two parallel numpy arrays:
vertices: an Nx2 float array of vertices
codes: an N-length uint8 array of path codes, or None  These two arrays always have the same length in the first dimension. For example, to represent a cubic curve, you must provide three vertices and three CURVE4 codes. The code types are:

STOP1 vertex (ignored)

A marker for the end of the entire path (currently not required and ignored)

MOVETO1 vertex

Pick up the pen and move to the given vertex.

LINETO1 vertex

Draw a line from the current position to the given vertex.

CURVE31 control point, 1 endpoint

Draw a quadratic Bezier curve from the current position, with the given control point, to the given end point.

CURVE42 control points, 1 endpoint

Draw a cubic Bezier curve from the current position, with the given control points, to the given end point.

CLOSEPOLY1 vertex (ignored)

Draw a line segment to the start point of the current polyline.     If codes is None, it is interpreted as a MOVETO followed by a series of LINETO. Users of Path objects should not access the vertices and codes arrays directly. Instead, they should use iter_segments or cleaned to get the vertex/code pairs. This helps, in particular, to consistently handle the case of codes being None. Some behavior of Path objects can be controlled by rcParams. See the rcParams whose keys start with 'path.'.  Note The vertices and codes arrays should be treated as immutable -- there are a number of optimizations and assumptions made up front in the constructor that will not change when the data changes.  Create a new path with the given vertices and codes.  Parameters

vertices(N, 2) array-like

The path vertices, as an array, masked array or sequence of pairs. Masked values, if any, will be converted to NaNs, which are then handled correctly by the Agg PathIterator and other consumers of path data, such as iter_segments().
codesarray-like or None, optional

N-length array of integers representing the codes of the path. If not None, codes must be the same length as vertices. If None, vertices will be treated as a series of line segments.
_interpolation_stepsint, optional

Used as a hint to certain projections, such as Polar, that this path should be linearly interpolated immediately before drawing. This attribute is primarily an implementation detail and is not intended for public use.
closedbool, optional

If codes is None and closed is True, vertices will be treated as line segments of a closed polygon. Note that the last vertex will then be ignored (as the corresponding code will be set to CLOSEPOLY).
readonlybool, optional

Makes the path behave in an immutable way and sets the vertices and codes as read-only arrays.       CLOSEPOLY=79

   CURVE3=3

   CURVE4=4

   LINETO=2

   MOVETO=1

   NUM_VERTICES_FOR_CODE={0: 1, 1: 1, 2: 1, 3: 2, 4: 3, 79: 1}

A dictionary mapping Path codes to the number of vertices that the code expects.
   STOP=0

   classmethodarc(theta1, theta2, n=None, is_wedge=False)[source]

Return a Path for the unit circle arc from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest arc within 360 degrees. That is, if theta2 > theta1 + 360, the arc will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. Masionobe, L. 2003. Drawing an elliptical arc using polylines, quadratic or cubic Bezier curves.
   classmethodcircle(center=(0.0, 0.0), radius=1.0, readonly=False)[source]

Return a Path representing a circle of a given radius and center.  Parameters

center(float, float), default: (0, 0)

The center of the circle.
radiusfloat, default: 1

The radius of the circle.
readonlybool

Whether the created path should have the "readonly" argument set when creating the Path instance.     Notes The circle is approximated using 8 cubic Bezier curves, as described in Lancaster, Don. Approximating a Circle or an Ellipse Using Four Bezier Cubic Splines.
   cleaned(transform=None, remove_nans=False, clip=None, *, simplify=False, curves=False, stroke_width=1.0, snap=False, sketch=None)[source]

Return a new Path with vertices and codes cleaned according to the parameters.  See also  Path.iter_segments

for details of the keyword arguments.
   clip_to_bbox(bbox, inside=True)[source]

Clip the path to the given bounding box. The path must be made up of one or more closed polygons. This algorithm will not behave correctly for unclosed paths. If inside is True, clip to the inside of the box, otherwise to the outside of the box.
   code_type

alias of numpy.uint8
   propertycodes

The list of codes in the Path as a 1D numpy array. Each code is one of STOP, MOVETO, LINETO, CURVE3, CURVE4 or CLOSEPOLY. For codes that correspond to more than one vertex (CURVE3 and CURVE4), that code will be repeated so that the length of self.vertices and self.codes is always the same.
   contains_path(path, transform=None)[source]

Return whether this (closed) path completely contains the given path. If transform is not None, the path will be transformed before checking for containment.
   contains_point(point, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given point. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

point(float, float)

The point (x, y) to check.
transformmatplotlib.transforms.Transform, optional

If not None, point will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of point.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of point. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 bool
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.
   contains_points(points, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given points. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

points(N, 2) array

The points to check. Columns contain x and y values.
transformmatplotlib.transforms.Transform, optional

If not None, points will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of points.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of points. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 length-N bool array
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.
   copy()[source]

Return a shallow copy of the Path, which will share the vertices and codes with the source Path.
   deepcopy(memo=None)[source]

Return a deepcopy of the Path. The Path will not be readonly, even if the source Path is.
   get_extents(transform=None, **kwargs)[source]

Get Bbox of the path.  Parameters

transformmatplotlib.transforms.Transform, optional

Transform to apply to path before computing extents, if any.  **kwargs

Forwarded to iter_bezier.    Returns
 matplotlib.transforms.Bbox

The extents of the path Bbox([[xmin, ymin], [xmax, ymax]])
   statichatch(hatchpattern, density=6)[source]

Given a hatch specifier, hatchpattern, generates a Path that can be used in a repeated hatching pattern. density is the number of lines per unit square.
   interpolated(steps)[source]

Return a new path resampled to length N x steps. Codes other than LINETO are not handled correctly.
   intersects_bbox(bbox, filled=True)[source]

Return whether this path intersects a given Bbox. If filled is True, then this also returns True if the path completely encloses the Bbox (i.e., the path is treated as filled). The bounding box is always considered filled.
   intersects_path(other, filled=True)[source]

Return whether if this path intersects another given path. If filled is True, then this also returns True if one path completely encloses the other (i.e., the paths are treated as filled).
   iter_bezier(**kwargs)[source]

Iterate over each bezier curve (lines included) in a Path.  Parameters
 **kwargs

Forwarded to iter_segments.    Yields

Bmatplotlib.bezier.BezierSegment

The bezier curves that make up the current path. Note in particular that freestanding points are bezier curves of order 0, and lines are bezier curves of order 1 (with two control points).
codePath.code_type

The code describing what kind of curve is being returned. Path.MOVETO, Path.LINETO, Path.CURVE3, Path.CURVE4 correspond to bezier curves with 1, 2, 3, and 4 control points (respectively). Path.CLOSEPOLY is a Path.LINETO with the control points correctly chosen based on the start/end points of the current stroke.
   iter_segments(transform=None, remove_nans=True, clip=None, snap=False, stroke_width=1.0, simplify=None, curves=True, sketch=None)[source]

Iterate over all curve segments in the path. Each iteration returns a pair (vertices, code), where vertices is a sequence of 1-3 coordinate pairs, and code is a Path code. Additionally, this method can provide a number of standard cleanups and conversions to the path.  Parameters

transformNone or Transform

If not None, the given affine transformation will be applied to the path.
remove_nansbool, optional

Whether to remove all NaNs from the path and skip over them using MOVETO commands.
clipNone or (float, float, float, float), optional

If not None, must be a four-tuple (x1, y1, x2, y2) defining a rectangle in which to clip the path.
snapNone or bool, optional

If True, snap all nodes to pixels; if False, don't snap them. If None, snap if the path contains only segments parallel to the x or y axes, and no more than 1024 of them.
stroke_widthfloat, optional

The width of the stroke being drawn (used for path snapping).
simplifyNone or bool, optional

Whether to simplify the path by removing vertices that do not affect its appearance. If None, use the should_simplify attribute. See also rcParams["path.simplify"] (default: True) and rcParams["path.simplify_threshold"] (default: 0.111111111111).
curvesbool, optional

If True, curve segments will be returned as curve segments. If False, all curves will be converted to line segments.
sketchNone or sequence, optional

If not None, must be a 3-tuple of the form (scale, length, randomness), representing the sketch parameters.
   classmethodmake_compound_path(*args)[source]

Make a compound path from a list of Path objects. Blindly removes all Path.STOP control points.
   classmethodmake_compound_path_from_polys(XY)[source]

Make a compound path object to draw a number of polygons with equal numbers of sides XY is a (numpolys x numsides x 2) numpy array of vertices. Return object is a Path. (Source code, png, pdf)
   propertyreadonly

True if the Path is read-only.
   propertyshould_simplify

True if the vertices array should be simplified.
   propertysimplify_threshold

The fraction of a pixel difference below which vertices will be simplified out.
   to_polygons(transform=None, width=0, height=0, closed_only=True)[source]

Convert this path to a list of polygons or polylines. Each polygon/polyline is an Nx2 array of vertices. In other words, each polygon has no MOVETO instructions or curves. This is useful for displaying in backends that do not support compound paths or Bezier curves. If width and height are both non-zero then the lines will be simplified so that vertices outside of (0, 0), (width, height) will be clipped. If closed_only is True (default), only closed polygons, with the last point being the same as the first point, will be returned. Any unclosed polylines in the path will be explicitly closed. If closed_only is False, any unclosed polygons in the path will be returned as unclosed polygons, and the closed polygons will be returned explicitly closed by setting the last point to the same as the first point.
   transformed(transform)[source]

Return a transformed copy of the path.  See also  matplotlib.transforms.TransformedPath

A specialized path class that will cache the transformed result and automatically update when the transform changes.
   classmethodunit_circle()[source]

Return the readonly Path of the unit circle. For most cases, Path.circle() will be what you want.
   classmethodunit_circle_righthalf()[source]

Return a Path of the right half of a unit circle. See Path.circle for the reference on the approximation used.
   classmethodunit_rectangle()[source]

Return a Path instance of the unit rectangle from (0, 0) to (1, 1).
   classmethodunit_regular_asterisk(numVertices)[source]

Return a Path for a unit regular asterisk with the given numVertices and radius of 1.0, centered at (0, 0).
   classmethodunit_regular_polygon(numVertices)[source]

Return a Path instance for a unit regular polygon with the given numVertices such that the circumscribing circle has radius 1.0, centered at (0, 0).
   classmethodunit_regular_star(numVertices, innerCircle=0.5)[source]

Return a Path for a unit regular star with the given numVertices and radius of 1.0, centered at (0, 0).
   propertyvertices

The list of vertices in the Path as an Nx2 numpy array.
   classmethodwedge(theta1, theta2, n=None)[source]

Return a Path for the unit circle wedge from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest wedge within 360 degrees. That is, if theta2 > theta1 + 360, the wedge will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. See Path.arc for the reference on the approximation used.

   matplotlib.path.get_path_collection_extents(master_transform, paths, transforms, offsets, offset_transform)[source]

Given a sequence of Paths, Transforms objects, and offsets, as found in a PathCollection, returns the bounding box that encapsulates all of them.  Parameters

master_transformTransform

Global transformation applied to all paths.
pathslist of Path

transformslist of Affine2D

offsets(N, 2) array-like

offset_transformAffine2D

Transform applied to the offsets before offsetting the path.     Notes The way that paths, transforms and offsets are combined follows the same method as for collections: Each is iterated over independently, so if you have 3 paths, 2 transforms and 1 offset, their combinations are as follows: (A, A, A), (B, B, A), (C, A, A)


matplotlib.path.get_path_collection_extents(master_transform, paths, transforms, offsets, offset_transform)[source]

Given a sequence of Paths, Transforms objects, and offsets, as found in a PathCollection, returns the bounding box that encapsulates all of them.  Parameters

master_transformTransform

Global transformation applied to all paths.
pathslist of Path

transformslist of Affine2D

offsets(N, 2) array-like

offset_transformAffine2D

Transform applied to the offsets before offsetting the path.     Notes The way that paths, transforms and offsets are combined follows the same method as for collections: Each is iterated over independently, so if you have 3 paths, 2 transforms and 1 offset, their combinations are as follows: (A, A, A), (B, B, A), (C, A, A)


classmatplotlib.path.Path(vertices, codes=None, _interpolation_steps=1, closed=False, readonly=False)[source]

Bases: object A series of possibly disconnected, possibly closed, line and curve segments. The underlying storage is made up of two parallel numpy arrays:
vertices: an Nx2 float array of vertices
codes: an N-length uint8 array of path codes, or None  These two arrays always have the same length in the first dimension. For example, to represent a cubic curve, you must provide three vertices and three CURVE4 codes. The code types are:

STOP1 vertex (ignored)

A marker for the end of the entire path (currently not required and ignored)

MOVETO1 vertex

Pick up the pen and move to the given vertex.

LINETO1 vertex

Draw a line from the current position to the given vertex.

CURVE31 control point, 1 endpoint

Draw a quadratic Bezier curve from the current position, with the given control point, to the given end point.

CURVE42 control points, 1 endpoint

Draw a cubic Bezier curve from the current position, with the given control points, to the given end point.

CLOSEPOLY1 vertex (ignored)

Draw a line segment to the start point of the current polyline.     If codes is None, it is interpreted as a MOVETO followed by a series of LINETO. Users of Path objects should not access the vertices and codes arrays directly. Instead, they should use iter_segments or cleaned to get the vertex/code pairs. This helps, in particular, to consistently handle the case of codes being None. Some behavior of Path objects can be controlled by rcParams. See the rcParams whose keys start with 'path.'.  Note The vertices and codes arrays should be treated as immutable -- there are a number of optimizations and assumptions made up front in the constructor that will not change when the data changes.  Create a new path with the given vertices and codes.  Parameters

vertices(N, 2) array-like

The path vertices, as an array, masked array or sequence of pairs. Masked values, if any, will be converted to NaNs, which are then handled correctly by the Agg PathIterator and other consumers of path data, such as iter_segments().
codesarray-like or None, optional

N-length array of integers representing the codes of the path. If not None, codes must be the same length as vertices. If None, vertices will be treated as a series of line segments.
_interpolation_stepsint, optional

Used as a hint to certain projections, such as Polar, that this path should be linearly interpolated immediately before drawing. This attribute is primarily an implementation detail and is not intended for public use.
closedbool, optional

If codes is None and closed is True, vertices will be treated as line segments of a closed polygon. Note that the last vertex will then be ignored (as the corresponding code will be set to CLOSEPOLY).
readonlybool, optional

Makes the path behave in an immutable way and sets the vertices and codes as read-only arrays.       CLOSEPOLY=79

   CURVE3=3

   CURVE4=4

   LINETO=2

   MOVETO=1

   NUM_VERTICES_FOR_CODE={0: 1, 1: 1, 2: 1, 3: 2, 4: 3, 79: 1}

A dictionary mapping Path codes to the number of vertices that the code expects.
   STOP=0

   classmethodarc(theta1, theta2, n=None, is_wedge=False)[source]

Return a Path for the unit circle arc from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest arc within 360 degrees. That is, if theta2 > theta1 + 360, the arc will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. Masionobe, L. 2003. Drawing an elliptical arc using polylines, quadratic or cubic Bezier curves.
   classmethodcircle(center=(0.0, 0.0), radius=1.0, readonly=False)[source]

Return a Path representing a circle of a given radius and center.  Parameters

center(float, float), default: (0, 0)

The center of the circle.
radiusfloat, default: 1

The radius of the circle.
readonlybool

Whether the created path should have the "readonly" argument set when creating the Path instance.     Notes The circle is approximated using 8 cubic Bezier curves, as described in Lancaster, Don. Approximating a Circle or an Ellipse Using Four Bezier Cubic Splines.
   cleaned(transform=None, remove_nans=False, clip=None, *, simplify=False, curves=False, stroke_width=1.0, snap=False, sketch=None)[source]

Return a new Path with vertices and codes cleaned according to the parameters.  See also  Path.iter_segments

for details of the keyword arguments.
   clip_to_bbox(bbox, inside=True)[source]

Clip the path to the given bounding box. The path must be made up of one or more closed polygons. This algorithm will not behave correctly for unclosed paths. If inside is True, clip to the inside of the box, otherwise to the outside of the box.
   code_type

alias of numpy.uint8
   propertycodes

The list of codes in the Path as a 1D numpy array. Each code is one of STOP, MOVETO, LINETO, CURVE3, CURVE4 or CLOSEPOLY. For codes that correspond to more than one vertex (CURVE3 and CURVE4), that code will be repeated so that the length of self.vertices and self.codes is always the same.
   contains_path(path, transform=None)[source]

Return whether this (closed) path completely contains the given path. If transform is not None, the path will be transformed before checking for containment.
   contains_point(point, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given point. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

point(float, float)

The point (x, y) to check.
transformmatplotlib.transforms.Transform, optional

If not None, point will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of point.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of point. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 bool
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.
   contains_points(points, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given points. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

points(N, 2) array

The points to check. Columns contain x and y values.
transformmatplotlib.transforms.Transform, optional

If not None, points will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of points.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of points. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 length-N bool array
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.
   copy()[source]

Return a shallow copy of the Path, which will share the vertices and codes with the source Path.
   deepcopy(memo=None)[source]

Return a deepcopy of the Path. The Path will not be readonly, even if the source Path is.
   get_extents(transform=None, **kwargs)[source]

Get Bbox of the path.  Parameters

transformmatplotlib.transforms.Transform, optional

Transform to apply to path before computing extents, if any.  **kwargs

Forwarded to iter_bezier.    Returns
 matplotlib.transforms.Bbox

The extents of the path Bbox([[xmin, ymin], [xmax, ymax]])
   statichatch(hatchpattern, density=6)[source]

Given a hatch specifier, hatchpattern, generates a Path that can be used in a repeated hatching pattern. density is the number of lines per unit square.
   interpolated(steps)[source]

Return a new path resampled to length N x steps. Codes other than LINETO are not handled correctly.
   intersects_bbox(bbox, filled=True)[source]

Return whether this path intersects a given Bbox. If filled is True, then this also returns True if the path completely encloses the Bbox (i.e., the path is treated as filled). The bounding box is always considered filled.
   intersects_path(other, filled=True)[source]

Return whether if this path intersects another given path. If filled is True, then this also returns True if one path completely encloses the other (i.e., the paths are treated as filled).
   iter_bezier(**kwargs)[source]

Iterate over each bezier curve (lines included) in a Path.  Parameters
 **kwargs

Forwarded to iter_segments.    Yields

Bmatplotlib.bezier.BezierSegment

The bezier curves that make up the current path. Note in particular that freestanding points are bezier curves of order 0, and lines are bezier curves of order 1 (with two control points).
codePath.code_type

The code describing what kind of curve is being returned. Path.MOVETO, Path.LINETO, Path.CURVE3, Path.CURVE4 correspond to bezier curves with 1, 2, 3, and 4 control points (respectively). Path.CLOSEPOLY is a Path.LINETO with the control points correctly chosen based on the start/end points of the current stroke.
   iter_segments(transform=None, remove_nans=True, clip=None, snap=False, stroke_width=1.0, simplify=None, curves=True, sketch=None)[source]

Iterate over all curve segments in the path. Each iteration returns a pair (vertices, code), where vertices is a sequence of 1-3 coordinate pairs, and code is a Path code. Additionally, this method can provide a number of standard cleanups and conversions to the path.  Parameters

transformNone or Transform

If not None, the given affine transformation will be applied to the path.
remove_nansbool, optional

Whether to remove all NaNs from the path and skip over them using MOVETO commands.
clipNone or (float, float, float, float), optional

If not None, must be a four-tuple (x1, y1, x2, y2) defining a rectangle in which to clip the path.
snapNone or bool, optional

If True, snap all nodes to pixels; if False, don't snap them. If None, snap if the path contains only segments parallel to the x or y axes, and no more than 1024 of them.
stroke_widthfloat, optional

The width of the stroke being drawn (used for path snapping).
simplifyNone or bool, optional

Whether to simplify the path by removing vertices that do not affect its appearance. If None, use the should_simplify attribute. See also rcParams["path.simplify"] (default: True) and rcParams["path.simplify_threshold"] (default: 0.111111111111).
curvesbool, optional

If True, curve segments will be returned as curve segments. If False, all curves will be converted to line segments.
sketchNone or sequence, optional

If not None, must be a 3-tuple of the form (scale, length, randomness), representing the sketch parameters.
   classmethodmake_compound_path(*args)[source]

Make a compound path from a list of Path objects. Blindly removes all Path.STOP control points.
   classmethodmake_compound_path_from_polys(XY)[source]

Make a compound path object to draw a number of polygons with equal numbers of sides XY is a (numpolys x numsides x 2) numpy array of vertices. Return object is a Path. (Source code, png, pdf)
   propertyreadonly

True if the Path is read-only.
   propertyshould_simplify

True if the vertices array should be simplified.
   propertysimplify_threshold

The fraction of a pixel difference below which vertices will be simplified out.
   to_polygons(transform=None, width=0, height=0, closed_only=True)[source]

Convert this path to a list of polygons or polylines. Each polygon/polyline is an Nx2 array of vertices. In other words, each polygon has no MOVETO instructions or curves. This is useful for displaying in backends that do not support compound paths or Bezier curves. If width and height are both non-zero then the lines will be simplified so that vertices outside of (0, 0), (width, height) will be clipped. If closed_only is True (default), only closed polygons, with the last point being the same as the first point, will be returned. Any unclosed polylines in the path will be explicitly closed. If closed_only is False, any unclosed polygons in the path will be returned as unclosed polygons, and the closed polygons will be returned explicitly closed by setting the last point to the same as the first point.
   transformed(transform)[source]

Return a transformed copy of the path.  See also  matplotlib.transforms.TransformedPath

A specialized path class that will cache the transformed result and automatically update when the transform changes.
   classmethodunit_circle()[source]

Return the readonly Path of the unit circle. For most cases, Path.circle() will be what you want.
   classmethodunit_circle_righthalf()[source]

Return a Path of the right half of a unit circle. See Path.circle for the reference on the approximation used.
   classmethodunit_rectangle()[source]

Return a Path instance of the unit rectangle from (0, 0) to (1, 1).
   classmethodunit_regular_asterisk(numVertices)[source]

Return a Path for a unit regular asterisk with the given numVertices and radius of 1.0, centered at (0, 0).
   classmethodunit_regular_polygon(numVertices)[source]

Return a Path instance for a unit regular polygon with the given numVertices such that the circumscribing circle has radius 1.0, centered at (0, 0).
   classmethodunit_regular_star(numVertices, innerCircle=0.5)[source]

Return a Path for a unit regular star with the given numVertices and radius of 1.0, centered at (0, 0).
   propertyvertices

The list of vertices in the Path as an Nx2 numpy array.
   classmethodwedge(theta1, theta2, n=None)[source]

Return a Path for the unit circle wedge from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest wedge within 360 degrees. That is, if theta2 > theta1 + 360, the wedge will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. See Path.arc for the reference on the approximation used.


classmethodarc(theta1, theta2, n=None, is_wedge=False)[source]

Return a Path for the unit circle arc from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest arc within 360 degrees. That is, if theta2 > theta1 + 360, the arc will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. Masionobe, L. 2003. Drawing an elliptical arc using polylines, quadratic or cubic Bezier curves.


classmethodcircle(center=(0.0, 0.0), radius=1.0, readonly=False)[source]

Return a Path representing a circle of a given radius and center.  Parameters

center(float, float), default: (0, 0)

The center of the circle.
radiusfloat, default: 1

The radius of the circle.
readonlybool

Whether the created path should have the "readonly" argument set when creating the Path instance.     Notes The circle is approximated using 8 cubic Bezier curves, as described in Lancaster, Don. Approximating a Circle or an Ellipse Using Four Bezier Cubic Splines.


cleaned(transform=None, remove_nans=False, clip=None, *, simplify=False, curves=False, stroke_width=1.0, snap=False, sketch=None)[source]

Return a new Path with vertices and codes cleaned according to the parameters.  See also  Path.iter_segments

for details of the keyword arguments.


clip_to_bbox(bbox, inside=True)[source]

Clip the path to the given bounding box. The path must be made up of one or more closed polygons. This algorithm will not behave correctly for unclosed paths. If inside is True, clip to the inside of the box, otherwise to the outside of the box.


contains_path(path, transform=None)[source]

Return whether this (closed) path completely contains the given path. If transform is not None, the path will be transformed before checking for containment.


contains_point(point, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given point. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

point(float, float)

The point (x, y) to check.
transformmatplotlib.transforms.Transform, optional

If not None, point will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of point.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of point. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 bool
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.


contains_points(points, transform=None, radius=0.0)[source]

Return whether the area enclosed by the path contains the given points. The path is always treated as closed; i.e. if the last code is not CLOSEPOLY an implicit segment connecting the last vertex to the first vertex is assumed.  Parameters

points(N, 2) array

The points to check. Columns contain x and y values.
transformmatplotlib.transforms.Transform, optional

If not None, points will be compared to self transformed by transform; i.e. for a correct check, transform should transform the path into the coordinate system of points.
radiusfloat, default: 0

Add an additional margin on the path in coordinates of points. The path is extended tangentially by radius/2; i.e. if you would draw the path with a linewidth of radius, all points on the line would still be considered to be contained in the area. Conversely, negative values shrink the area: Points on the imaginary line will be considered outside the area.    Returns
 length-N bool array
   Notes The current algorithm has some limitations:  The result is undefined for points exactly at the boundary (i.e. at the path shifted by radius/2). The result is undefined if there is no enclosed area, i.e. all vertices are on a straight line. If bounding lines start to cross each other due to radius shift, the result is not guaranteed to be correct.


copy()[source]

Return a shallow copy of the Path, which will share the vertices and codes with the source Path.


deepcopy(memo=None)[source]

Return a deepcopy of the Path. The Path will not be readonly, even if the source Path is.


get_extents(transform=None, **kwargs)[source]

Get Bbox of the path.  Parameters

transformmatplotlib.transforms.Transform, optional

Transform to apply to path before computing extents, if any.  **kwargs

Forwarded to iter_bezier.    Returns
 matplotlib.transforms.Bbox

The extents of the path Bbox([[xmin, ymin], [xmax, ymax]])


statichatch(hatchpattern, density=6)[source]

Given a hatch specifier, hatchpattern, generates a Path that can be used in a repeated hatching pattern. density is the number of lines per unit square.


interpolated(steps)[source]

Return a new path resampled to length N x steps. Codes other than LINETO are not handled correctly.


intersects_bbox(bbox, filled=True)[source]

Return whether this path intersects a given Bbox. If filled is True, then this also returns True if the path completely encloses the Bbox (i.e., the path is treated as filled). The bounding box is always considered filled.


intersects_path(other, filled=True)[source]

Return whether if this path intersects another given path. If filled is True, then this also returns True if one path completely encloses the other (i.e., the paths are treated as filled).


iter_bezier(**kwargs)[source]

Iterate over each bezier curve (lines included) in a Path.  Parameters
 **kwargs

Forwarded to iter_segments.    Yields

Bmatplotlib.bezier.BezierSegment

The bezier curves that make up the current path. Note in particular that freestanding points are bezier curves of order 0, and lines are bezier curves of order 1 (with two control points).
codePath.code_type

The code describing what kind of curve is being returned. Path.MOVETO, Path.LINETO, Path.CURVE3, Path.CURVE4 correspond to bezier curves with 1, 2, 3, and 4 control points (respectively). Path.CLOSEPOLY is a Path.LINETO with the control points correctly chosen based on the start/end points of the current stroke.


iter_segments(transform=None, remove_nans=True, clip=None, snap=False, stroke_width=1.0, simplify=None, curves=True, sketch=None)[source]

Iterate over all curve segments in the path. Each iteration returns a pair (vertices, code), where vertices is a sequence of 1-3 coordinate pairs, and code is a Path code. Additionally, this method can provide a number of standard cleanups and conversions to the path.  Parameters

transformNone or Transform

If not None, the given affine transformation will be applied to the path.
remove_nansbool, optional

Whether to remove all NaNs from the path and skip over them using MOVETO commands.
clipNone or (float, float, float, float), optional

If not None, must be a four-tuple (x1, y1, x2, y2) defining a rectangle in which to clip the path.
snapNone or bool, optional

If True, snap all nodes to pixels; if False, don't snap them. If None, snap if the path contains only segments parallel to the x or y axes, and no more than 1024 of them.
stroke_widthfloat, optional

The width of the stroke being drawn (used for path snapping).
simplifyNone or bool, optional

Whether to simplify the path by removing vertices that do not affect its appearance. If None, use the should_simplify attribute. See also rcParams["path.simplify"] (default: True) and rcParams["path.simplify_threshold"] (default: 0.111111111111).
curvesbool, optional

If True, curve segments will be returned as curve segments. If False, all curves will be converted to line segments.
sketchNone or sequence, optional

If not None, must be a 3-tuple of the form (scale, length, randomness), representing the sketch parameters.


classmethodmake_compound_path(*args)[source]

Make a compound path from a list of Path objects. Blindly removes all Path.STOP control points.


classmethodmake_compound_path_from_polys(XY)[source]

Make a compound path object to draw a number of polygons with equal numbers of sides XY is a (numpolys x numsides x 2) numpy array of vertices. Return object is a Path. (Source code, png, pdf)


NUM_VERTICES_FOR_CODE={0: 1, 1: 1, 2: 1, 3: 2, 4: 3, 79: 1}

A dictionary mapping Path codes to the number of vertices that the code expects.


to_polygons(transform=None, width=0, height=0, closed_only=True)[source]

Convert this path to a list of polygons or polylines. Each polygon/polyline is an Nx2 array of vertices. In other words, each polygon has no MOVETO instructions or curves. This is useful for displaying in backends that do not support compound paths or Bezier curves. If width and height are both non-zero then the lines will be simplified so that vertices outside of (0, 0), (width, height) will be clipped. If closed_only is True (default), only closed polygons, with the last point being the same as the first point, will be returned. Any unclosed polylines in the path will be explicitly closed. If closed_only is False, any unclosed polygons in the path will be returned as unclosed polygons, and the closed polygons will be returned explicitly closed by setting the last point to the same as the first point.


transformed(transform)[source]

Return a transformed copy of the path.  See also  matplotlib.transforms.TransformedPath

A specialized path class that will cache the transformed result and automatically update when the transform changes.


classmethodunit_circle()[source]

Return the readonly Path of the unit circle. For most cases, Path.circle() will be what you want.


classmethodunit_circle_righthalf()[source]

Return a Path of the right half of a unit circle. See Path.circle for the reference on the approximation used.


classmethodunit_rectangle()[source]

Return a Path instance of the unit rectangle from (0, 0) to (1, 1).


classmethodunit_regular_asterisk(numVertices)[source]

Return a Path for a unit regular asterisk with the given numVertices and radius of 1.0, centered at (0, 0).


classmethodunit_regular_polygon(numVertices)[source]

Return a Path instance for a unit regular polygon with the given numVertices such that the circumscribing circle has radius 1.0, centered at (0, 0).


classmethodunit_regular_star(numVertices, innerCircle=0.5)[source]

Return a Path for a unit regular star with the given numVertices and radius of 1.0, centered at (0, 0).


classmethodwedge(theta1, theta2, n=None)[source]

Return a Path for the unit circle wedge from angles theta1 to theta2 (in degrees). theta2 is unwrapped to produce the shortest wedge within 360 degrees. That is, if theta2 > theta1 + 360, the wedge will be from theta1 to theta2 - 360 and not a full circle plus some extra overlap. If n is provided, it is the number of spline segments to make. If n is not provided, the number of spline segments is determined based on the delta between theta1 and theta2. See Path.arc for the reference on the approximation used.


matplotlib.patheffects Defines classes for path effects. The path effects are supported in Text, Line2D and Patch.  See also Path effects guide    classmatplotlib.patheffects.AbstractPathEffect(offset=(0.0, 0.0))[source]

Bases: object A base class for path effects. Subclasses should override the draw_path method to add effect functionality.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, measured in points.       draw_path(renderer, gc, tpath, affine, rgbFace=None)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.

   classmatplotlib.patheffects.Normal(offset=(0.0, 0.0))[source]

Bases: matplotlib.patheffects.AbstractPathEffect The "identity" PathEffect. The Normal PathEffect's sole purpose is to draw the original artist with no special path effect.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, measured in points.
   classmatplotlib.patheffects.PathEffectRenderer(path_effects, renderer)[source]

Bases: matplotlib.backend_bases.RendererBase Implements a Renderer which contains another renderer. This proxy then intercepts draw calls, calling the appropriate AbstractPathEffect draw method.  Note Not all methods have been overridden on this RendererBase subclass. It may be necessary to add further methods to extend the PathEffects capabilities further.   Parameters

path_effectsiterable of AbstractPathEffect

The path effects which this renderer represents.
renderermatplotlib.backend_bases.RendererBase subclass

     copy_with_path_effect(path_effects)[source]

   draw_markers(gc, marker_path, marker_trans, path, *args, **kwargs)[source]

Draw a marker at each of path's vertices (excluding control points). This provides a fallback implementation of draw_markers that makes multiple calls to draw_path(). Some backends may want to override this method in order to draw the marker only once and reuse it multiple times.  Parameters

gcGraphicsContextBase

The graphics context.
marker_transmatplotlib.transforms.Transform

An affine transform applied to the marker.
transmatplotlib.transforms.Transform

An affine transform applied to the path.
   draw_path(gc, tpath, affine, rgbFace=None)[source]

Draw a Path instance using the given affine transform.
   draw_path_collection(gc, master_transform, paths, *args, **kwargs)[source]

Draw a collection of paths selecting drawing properties from the lists facecolors, edgecolors, linewidths, linestyles and antialiaseds. offsets is a list of offsets to apply to each of the paths. The offsets in offsets are first transformed by offsetTrans before being applied. offset_position is unused now, but the argument is kept for backwards compatibility. This provides a fallback implementation of draw_path_collection() that makes multiple calls to draw_path(). Some backends may want to override this in order to render each set of path data only once, and then reference that path multiple times with the different offsets, colors, styles etc. The generator methods _iter_collection_raw_paths() and _iter_collection() are provided to help with (and standardize) the implementation across backends. It is highly recommended to use those generators, so that changes to the behavior of draw_path_collection() can be made globally.

   classmatplotlib.patheffects.PathPatchEffect(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect Draws a PathPatch instance whose Path comes from the original PathEffect artist.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.  **kwargs

All keyword arguments are passed through to the PathPatch constructor. The properties which cannot be overridden are "path", "clip_box" "transform" and "clip_path".       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.

   classmatplotlib.patheffects.SimpleLineShadow(offset=(2, - 2), shadow_color='k', alpha=0.3, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A simple shadow via a line.  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset to apply to the path, in points.
shadow_colorcolor, default: 'black'

The shadow color. A value of None takes the original artist's color with a scale factor of rho.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch.
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_color is None.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.

   classmatplotlib.patheffects.SimplePatchShadow(offset=(2, - 2), shadow_rgbFace=None, alpha=None, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A simple shadow via a filled patch.  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset of the shadow in points.
shadow_rgbFacecolor

The shadow color.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_rgbFace is not specified.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.

   classmatplotlib.patheffects.Stroke(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A line based PathEffect which re-draws a stroke. The path will be stroked with its gc updated with the given keyword arguments, i.e., the keyword arguments should be valid gc parameter values.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.

   classmatplotlib.patheffects.TickedStroke(offset=(0, 0), spacing=10.0, angle=45.0, length=1.4142135623730951, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A line-based PathEffect which draws a path with a ticked style. This line style is frequently used to represent constraints in optimization. The ticks may be used to indicate that one side of the line is invalid or to represent a closed boundary of a domain (i.e. a wall or the edge of a pipe). The spacing, length, and angle of ticks can be controlled. This line style is sometimes referred to as a hatched line. See also the contour demo example. See also the contours in optimization example.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.
spacingfloat, default: 10.0

The spacing between ticks in points.
anglefloat, default: 45.0

The angle between the path and the tick in degrees. The angle is measured as if you were an ant walking along the curve, with zero degrees pointing directly ahead, 90 to your left, -90 to your right, and 180 behind you.
lengthfloat, default: 1.414

The length of the tick relative to spacing. Recommended length = 1.414 (sqrt(2)) when angle=45, length=1.0 when angle=90 and length=2.0 when angle=60.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().     Examples See TickedStroke patheffect.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.

   classmatplotlib.patheffects.withSimplePatchShadow(offset=(2, - 2), shadow_rgbFace=None, alpha=None, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.SimplePatchShadow A shortcut PathEffect for applying SimplePatchShadow and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withSimplePatchShadow()])
 as a shortcut for artist.set_path_effects([path_effects.SimplePatchShadow(),
                         path_effects.Normal()])
  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset of the shadow in points.
shadow_rgbFacecolor

The shadow color.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_rgbFace is not specified.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.

   classmatplotlib.patheffects.withStroke(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.Stroke A shortcut PathEffect for applying Stroke and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withStroke()])
 as a shortcut for artist.set_path_effects([path_effects.Stroke(),
                         path_effects.Normal()])
 The path will be stroked with its gc updated with the given keyword arguments, i.e., the keyword arguments should be valid gc parameter values.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.

   classmatplotlib.patheffects.withTickedStroke(offset=(0, 0), spacing=10.0, angle=45.0, length=1.4142135623730951, **kwargs)[source]

Bases: matplotlib.patheffects.TickedStroke A shortcut PathEffect for applying TickedStroke and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withTickedStroke()])
 as a shortcut for artist.set_path_effects([path_effects.TickedStroke(),
                         path_effects.Normal()])
  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.
spacingfloat, default: 10.0

The spacing between ticks in points.
anglefloat, default: 45.0

The angle between the path and the tick in degrees. The angle is measured as if you were an ant walking along the curve, with zero degrees pointing directly ahead, 90 to your left, -90 to your right, and 180 behind you.
lengthfloat, default: 1.414

The length of the tick relative to spacing. Recommended length = 1.414 (sqrt(2)) when angle=45, length=1.0 when angle=90 and length=2.0 when angle=60.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().     Examples See TickedStroke patheffect.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.


classmatplotlib.patheffects.AbstractPathEffect(offset=(0.0, 0.0))[source]

Bases: object A base class for path effects. Subclasses should override the draw_path method to add effect functionality.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, measured in points.       draw_path(renderer, gc, tpath, affine, rgbFace=None)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.


draw_path(renderer, gc, tpath, affine, rgbFace=None)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.


classmatplotlib.patheffects.Normal(offset=(0.0, 0.0))[source]

Bases: matplotlib.patheffects.AbstractPathEffect The "identity" PathEffect. The Normal PathEffect's sole purpose is to draw the original artist with no special path effect.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, measured in points.


classmatplotlib.patheffects.PathEffectRenderer(path_effects, renderer)[source]

Bases: matplotlib.backend_bases.RendererBase Implements a Renderer which contains another renderer. This proxy then intercepts draw calls, calling the appropriate AbstractPathEffect draw method.  Note Not all methods have been overridden on this RendererBase subclass. It may be necessary to add further methods to extend the PathEffects capabilities further.   Parameters

path_effectsiterable of AbstractPathEffect

The path effects which this renderer represents.
renderermatplotlib.backend_bases.RendererBase subclass

     copy_with_path_effect(path_effects)[source]

   draw_markers(gc, marker_path, marker_trans, path, *args, **kwargs)[source]

Draw a marker at each of path's vertices (excluding control points). This provides a fallback implementation of draw_markers that makes multiple calls to draw_path(). Some backends may want to override this method in order to draw the marker only once and reuse it multiple times.  Parameters

gcGraphicsContextBase

The graphics context.
marker_transmatplotlib.transforms.Transform

An affine transform applied to the marker.
transmatplotlib.transforms.Transform

An affine transform applied to the path.
   draw_path(gc, tpath, affine, rgbFace=None)[source]

Draw a Path instance using the given affine transform.
   draw_path_collection(gc, master_transform, paths, *args, **kwargs)[source]

Draw a collection of paths selecting drawing properties from the lists facecolors, edgecolors, linewidths, linestyles and antialiaseds. offsets is a list of offsets to apply to each of the paths. The offsets in offsets are first transformed by offsetTrans before being applied. offset_position is unused now, but the argument is kept for backwards compatibility. This provides a fallback implementation of draw_path_collection() that makes multiple calls to draw_path(). Some backends may want to override this in order to render each set of path data only once, and then reference that path multiple times with the different offsets, colors, styles etc. The generator methods _iter_collection_raw_paths() and _iter_collection() are provided to help with (and standardize) the implementation across backends. It is highly recommended to use those generators, so that changes to the behavior of draw_path_collection() can be made globally.


draw_markers(gc, marker_path, marker_trans, path, *args, **kwargs)[source]

Draw a marker at each of path's vertices (excluding control points). This provides a fallback implementation of draw_markers that makes multiple calls to draw_path(). Some backends may want to override this method in order to draw the marker only once and reuse it multiple times.  Parameters

gcGraphicsContextBase

The graphics context.
marker_transmatplotlib.transforms.Transform

An affine transform applied to the marker.
transmatplotlib.transforms.Transform

An affine transform applied to the path.


draw_path(gc, tpath, affine, rgbFace=None)[source]

Draw a Path instance using the given affine transform.


draw_path_collection(gc, master_transform, paths, *args, **kwargs)[source]

Draw a collection of paths selecting drawing properties from the lists facecolors, edgecolors, linewidths, linestyles and antialiaseds. offsets is a list of offsets to apply to each of the paths. The offsets in offsets are first transformed by offsetTrans before being applied. offset_position is unused now, but the argument is kept for backwards compatibility. This provides a fallback implementation of draw_path_collection() that makes multiple calls to draw_path(). Some backends may want to override this in order to render each set of path data only once, and then reference that path multiple times with the different offsets, colors, styles etc. The generator methods _iter_collection_raw_paths() and _iter_collection() are provided to help with (and standardize) the implementation across backends. It is highly recommended to use those generators, so that changes to the behavior of draw_path_collection() can be made globally.


classmatplotlib.patheffects.PathPatchEffect(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect Draws a PathPatch instance whose Path comes from the original PathEffect artist.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.  **kwargs

All keyword arguments are passed through to the PathPatch constructor. The properties which cannot be overridden are "path", "clip_box" "transform" and "clip_path".       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.


draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Derived should override this method. The arguments are the same as matplotlib.backend_bases.RendererBase.draw_path() except the first argument is a renderer.


classmatplotlib.patheffects.SimpleLineShadow(offset=(2, - 2), shadow_color='k', alpha=0.3, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A simple shadow via a line.  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset to apply to the path, in points.
shadow_colorcolor, default: 'black'

The shadow color. A value of None takes the original artist's color with a scale factor of rho.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch.
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_color is None.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.


draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.


classmatplotlib.patheffects.SimplePatchShadow(offset=(2, - 2), shadow_rgbFace=None, alpha=None, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A simple shadow via a filled patch.  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset of the shadow in points.
shadow_rgbFacecolor

The shadow color.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_rgbFace is not specified.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.


classmatplotlib.patheffects.Stroke(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A line based PathEffect which re-draws a stroke. The path will be stroked with its gc updated with the given keyword arguments, i.e., the keyword arguments should be valid gc parameter values.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.


draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.


classmatplotlib.patheffects.TickedStroke(offset=(0, 0), spacing=10.0, angle=45.0, length=1.4142135623730951, **kwargs)[source]

Bases: matplotlib.patheffects.AbstractPathEffect A line-based PathEffect which draws a path with a ticked style. This line style is frequently used to represent constraints in optimization. The ticks may be used to indicate that one side of the line is invalid or to represent a closed boundary of a domain (i.e. a wall or the edge of a pipe). The spacing, length, and angle of ticks can be controlled. This line style is sometimes referred to as a hatched line. See also the contour demo example. See also the contours in optimization example.  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.
spacingfloat, default: 10.0

The spacing between ticks in points.
anglefloat, default: 45.0

The angle between the path and the tick in degrees. The angle is measured as if you were an ant walking along the curve, with zero degrees pointing directly ahead, 90 to your left, -90 to your right, and 180 behind you.
lengthfloat, default: 1.414

The length of the tick relative to spacing. Recommended length = 1.414 (sqrt(2)) when angle=45, length=1.0 when angle=90 and length=2.0 when angle=60.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().     Examples See TickedStroke patheffect.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.


classmatplotlib.patheffects.withSimplePatchShadow(offset=(2, - 2), shadow_rgbFace=None, alpha=None, rho=0.3, **kwargs)[source]

Bases: matplotlib.patheffects.SimplePatchShadow A shortcut PathEffect for applying SimplePatchShadow and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withSimplePatchShadow()])
 as a shortcut for artist.set_path_effects([path_effects.SimplePatchShadow(),
                         path_effects.Normal()])
  Parameters

offset(float, float), default: (2, -2)

The (x, y) offset of the shadow in points.
shadow_rgbFacecolor

The shadow color.
alphafloat, default: 0.3

The alpha transparency of the created shadow patch. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
rhofloat, default: 0.3

A scale factor to apply to the rgbFace color if shadow_rgbFace is not specified.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().       draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Overrides the standard draw_path to add the shadow offset and necessary color changes for the shadow.


classmatplotlib.patheffects.withStroke(offset=(0, 0), **kwargs)[source]

Bases: matplotlib.patheffects.Stroke A shortcut PathEffect for applying Stroke and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withStroke()])
 as a shortcut for artist.set_path_effects([path_effects.Stroke(),
                         path_effects.Normal()])
 The path will be stroked with its gc updated with the given keyword arguments, i.e., the keyword arguments should be valid gc parameter values.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.


classmatplotlib.patheffects.withTickedStroke(offset=(0, 0), spacing=10.0, angle=45.0, length=1.4142135623730951, **kwargs)[source]

Bases: matplotlib.patheffects.TickedStroke A shortcut PathEffect for applying TickedStroke and then drawing the original Artist. With this class you can use artist.set_path_effects([path_effects.withTickedStroke()])
 as a shortcut for artist.set_path_effects([path_effects.TickedStroke(),
                         path_effects.Normal()])
  Parameters

offset(float, float), default: (0, 0)

The (x, y) offset to apply to the path, in points.
spacingfloat, default: 10.0

The spacing between ticks in points.
anglefloat, default: 45.0

The angle between the path and the tick in degrees. The angle is measured as if you were an ant walking along the curve, with zero degrees pointing directly ahead, 90 to your left, -90 to your right, and 180 behind you.
lengthfloat, default: 1.414

The length of the tick relative to spacing. Recommended length = 1.414 (sqrt(2)) when angle=45, length=1.0 when angle=90 and length=2.0 when angle=60.  **kwargs

Extra keywords are stored and passed through to AbstractPathEffect._update_gc().     Examples See TickedStroke patheffect.   draw_path(renderer, gc, tpath, affine, rgbFace)[source]

Draw the path with updated gc.