mpl_toolkits.axisartist.axis_artist#

The axis_artist module implements custom artists to draw axis elements (axis lines and labels, tick lines and labels, grid lines).

Axis lines and labels and tick lines and labels are managed by the AxisArtist class; grid lines are managed by the GridlinesCollection class.

There is one AxisArtist per Axis; it can be accessed through the axis dictionary of the parent Axes (which should be a mpl_toolkits.axislines.Axes), e.g. ax.axis["bottom"].

Children of the AxisArtist are accessed as attributes: .line and .label for the axis line and label, .major_ticks, .major_ticklabels, .minor_ticks, .minor_ticklabels for the tick lines and labels (e.g. ax.axis["bottom"].line).

Children properties (colors, fonts, line widths, etc.) can be set using setters, e.g.

# Make the major ticks of the bottom axis red.
ax.axis["bottom"].major_ticks.set_color("red")

However, things like the locations of ticks, and their ticklabels need to be changed from the side of the grid_helper.

axis_direction#

AxisArtist, AxisLabel, TickLabels have an axis_direction attribute, which adjusts the location, angle, etc. The axis_direction must be one of "left", "right", "bottom", "top", and follows the Matplotlib convention for rectangular axis.

For example, for the bottom axis (the left and right is relative to the direction of the increasing coordinate),

  • ticklabels and axislabel are on the right

  • ticklabels and axislabel have text angle of 0

  • ticklabels are baseline, center-aligned

  • axislabel is top, center-aligned

The text angles are actually relative to (90 + angle of the direction to the ticklabel), which gives 0 for bottom axis.

Property

left

bottom

right

top

ticklabel location

left

right

right

left

axislabel location

left

right

right

left

ticklabel angle

90

0

-90

180

axislabel angle

180

0

0

180

ticklabel va

center

baseline

center

baseline

axislabel va

center

top

center

bottom

ticklabel ha

right

center

right

center

axislabel ha

right

center

right

center

Ticks are by default direct opposite side of the ticklabels. To make ticks to the same side of the ticklabels,

ax.axis["bottom"].major_ticks.set_tick_out(True)

The following attributes can be customized (use the set_xxx methods):

Classes#

AttributeCopier()

AxisArtist(axes, helper[, offset, ...])

An artist which draws axis (a line along which the n-th axes coord is constant) line, ticks, tick labels, and axis label.

AxisLabel(*args[, axis_direction, axis])

Axis label.

GridlinesCollection(*args[, which, axis])

Collection of grid lines.

LabelBase(*args, **kwargs)

A base class for AxisLabel and TickLabels.

TickLabels(*[, axis_direction])

Tick labels.

Ticks(ticksize[, tick_out, axis])

Ticks are derived from Line2D, and note that ticks themselves are markers.