You are reading an old version of the documentation (v3.1.3). For the latest version see https://matplotlib.org/stable/api/spines_api.html
Version 3.1.3
matplotlib
Fork me on GitHub

matplotlib.spines

class matplotlib.spines.Spine(axes, spine_type, path, **kwargs)[source]

Bases: matplotlib.patches.Patch

an axis spine -- the line noting the data area boundaries

Spines are the lines connecting the axis tick marks and noting the boundaries of the data area. They can be placed at arbitrary positions. See function:set_position for more information.

The default position is ('outward',0).

Spines are subclasses of class:Patch, and inherit much of their behavior.

Spines draw a line, a circle, or an arc depending if function:set_patch_line, function:set_patch_circle, or function:set_patch_arc has been called. Line-like is the default.

  • axes : the Axes instance containing the spine
  • spine_type : a string specifying the spine type
  • path : the path instance used to draw the spine

Valid kwargs 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 float or None
animated bool
antialiased or aa unknown
capstyle {'butt', 'round', 'projecting'}
clip_box Bbox
clip_on bool
clip_path [(Path, Transform) | Patch | None]
color color
contains callable
edgecolor or ec color or None or 'auto'
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle {'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 or None
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float
classmethod arc_spine(axes, spine_type, center, radius, theta1, theta2, **kwargs)[source]

(classmethod) Returns an arc Spine.

classmethod circular_spine(axes, center, radius, **kwargs)[source]

(staticmethod) Returns a circular Spine.

cla(self)[source]

Clear the current spine.

draw(self, renderer)[source]

Draw the Patch to the given renderer.

get_bounds(self)[source]

Get the bounds of the spine.

get_patch_transform(self)[source]

Return the Transform instance which takes 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(self)[source]

Return the path of this patch

get_position(self)[source]

Return the spine position.

get_smart_bounds(self)[source]

Return whether the spine has smart bounds.

get_spine_transform(self)[source]

Return the spine transform.

get_window_extent(self, renderer=None)[source]

Return the window extent of the spines in display space, including padding for ticks (but not their labels)

is_frame_like(self)[source]

[Deprecated] Return True if directly on axes frame.

This is useful for determining if a spine is the edge of an old style MPL plot. If so, this function will return True.

Notes

Deprecated since version 3.1.

classmethod linear_spine(axes, spine_type, **kwargs)[source]

(staticmethod) Returns a linear Spine.

register_axis(self, axis)[source]

Register an axis.

An axis should be registered with its corresponding spine from the Axes instance. This allows the spine to clear any axis properties when needed.

set_bounds(self, low, high)[source]

Set the bounds of the spine.

set_color(self, c)[source]

Set the edgecolor.

Parameters:
c : color

Notes

This method does not modify the facecolor (which defaults to "none"), unlike the Patch.set_color method defined in the parent class. Use Patch.set_facecolor to set the facecolor.

set_patch_arc(self, center, radius, theta1, theta2)[source]

Set the spine to be arc-like.

set_patch_circle(self, center, radius)[source]

Set the spine to be circular.

set_patch_line(self)[source]

Set the spine to be linear.

set_position(self, position)[source]

Set the position of the spine.

Spine position is specified by a 2 tuple of (position type, amount). The position types are:

  • 'outward' : place the spine out from the data area by the specified number of points. (Negative values specify placing the spine inward.)
  • 'axes' : place the spine at the specified Axes coordinate (from 0.0-1.0).
  • 'data' : place the spine at the specified data coordinate.

Additionally, shorthand notations define a special positions:

  • 'center' -> ('axes',0.5)
  • 'zero' -> ('data', 0.0)
set_smart_bounds(self, value)[source]

Set the spine and associated axis to have smart bounds.