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.

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


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.

Parameter left bottom right top
ticklabels location left right right left
axislabel location left right right left
ticklabels 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,


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


AxisArtist(axes, helper[, offset, ...]) An artist which draws axis (a line along which the n-th axes coord is constant) line, ticks, ticklabels, and axis label.
AxisLabel(*args[, axis_direction, axis]) Axis Label.
GridlinesCollection(*args[, which, axis])
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.