matplotlib.patheffects
¶
Defines classes for path effects. The path effects are supported in
Text
, Line2D
and Patch
.
-
class
matplotlib.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: - offsetpair of floats
The offset to apply to the path, measured in points.
-
draw_path
(self, 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.
-
class
matplotlib.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: - offsetpair of floats
The offset to apply to the path, measured in points.
-
class
matplotlib.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.
- renderer
matplotlib.backend_bases.RendererBase
instance
-
draw_markers
(self, gc, marker_path, marker_trans, path, *args, **kwargs)[source]¶ Draw a marker at each of the vertices in path.
This includes all vertices, including control points on curves. To avoid that behavior, those vertices should be removed before calling this function.
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: - gc
GraphicsContextBase
The graphics context.
- marker_trans
matplotlib.transforms.Transform
An affine transform applied to the marker.
- trans
matplotlib.transforms.Transform
An affine transform applied to the path.
- gc
-
draw_path
(self, gc, tpath, affine, rgbFace=None)[source]¶ Draw a
Path
instance using the given affine transform.
-
draw_path_collection
(self, 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 may be either "screen" or "data" depending on the space that the offsets are in.
This provides a fallback implementation of
draw_path_collection()
that makes multiple calls todraw_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 ofdraw_path_collection()
can be made globally.
- path_effectsiterable of
-
class
matplotlib.patheffects.
PathPatchEffect
(offset=(0, 0), **kwargs)[source]¶ Bases:
matplotlib.patheffects.AbstractPathEffect
Draws a
PathPatch
instance whose Path comes from the original PathEffect artist.Parameters: - offsetpair of floats
The 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
(self, 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.
-
class
matplotlib.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: - offsetpair of floats
The offset to apply to the path, in points.
- shadow_colorcolor
The shadow color. Default is black. A value of
None
takes the original artist's color with a scale factor of rho.- alphafloat
The alpha transparency of the created shadow patch. Default is 0.3.
- rhofloat
A scale factor to apply to the rgbFace color if
shadow_rgbFace
isNone
. Default is 0.3.- **kwargs
Extra keywords are stored and passed through to
AbstractPathEffect._update_gc()
.
-
class
matplotlib.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: - offsetpair of floats
The offset of the shadow in points.
- shadow_rgbFacecolor
The shadow color.
- alphafloat
The alpha transparency of the created shadow patch. Default is 0.3. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
- rhofloat
A scale factor to apply to the rgbFace color if
shadow_rgbFace
is not specified. Default is 0.3.- **kwargs
Extra keywords are stored and passed through to
AbstractPathEffect._update_gc()
.
-
class
matplotlib.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.
-
class
matplotlib.patheffects.
withSimplePatchShadow
(offset=(2, -2), shadow_rgbFace=None, alpha=None, rho=0.3, **kwargs)[source]¶ Bases:
matplotlib.patheffects.SimplePatchShadow
Adds a simple
SimplePatchShadow
and then draws the original Artist to avoid needing to callNormal
.Parameters: - offsetpair of floats
The offset of the shadow in points.
- shadow_rgbFacecolor
The shadow color.
- alphafloat
The alpha transparency of the created shadow patch. Default is 0.3. http://matplotlib.1069221.n5.nabble.com/path-effects-question-td27630.html
- rhofloat
A scale factor to apply to the rgbFace color if
shadow_rgbFace
is not specified. Default is 0.3.- **kwargs
Extra keywords are stored and passed through to
AbstractPathEffect._update_gc()
.
-
class
matplotlib.patheffects.
withStroke
(offset=(0, 0), **kwargs)[source]¶ Bases:
matplotlib.patheffects.Stroke
Adds a simple
Stroke
and then draws the original Artist to avoid needing to callNormal
.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.