mpl_toolkits.axisartist.axis_artist#

axis_artist 模块实现了自定义的 artists 来绘制坐标轴元素(坐标轴线和标签、刻度线和标签、网格线)。

坐标轴线和标签以及刻度线和标签由 AxisArtist 类管理;网格线由 GridlinesCollection 类管理。

每个 Axis 有一个 AxisArtist;可以通过其父 Axes(应为 mpl_toolkits.axislines.Axes)的 axis 字典访问,例如 ax.axis["bottom"]

AxisArtist 的子元素可以通过属性访问:.line.label 分别用于坐标轴线和标签,.major_ticks.major_ticklabels.minor_ticks.minor_ticklabels 用于刻度线和标签(例如 ax.axis["bottom"].line)。

子元素的属性(颜色、字体、线宽等)可以使用 setter 方法设置,例如

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

但是,刻度的位置及其刻度标签等需要从 grid_helper 侧进行更改。

坐标轴方向#

AxisArtistAxisLabelTickLabels 都有一个 axis_direction 属性,用于调整位置、角度等。axis_direction 必须是 "left"、"right"、"bottom"、"top" 之一,并遵循 Matplotlib 针对矩形坐标轴的约定。

例如,对于 bottom 坐标轴(左右方向相对于坐标递增的方向),

  • 刻度标签和坐标轴标签在右侧

  • 刻度标签和坐标轴标签的文本角度为 0

  • 刻度标签基线对齐,居中对齐

  • 坐标轴标签顶部对齐,居中对齐

文本角度实际上是相对于(90 + 指向刻度标签方向的角度)的,对于底部坐标轴,这给出了 0。

属性

刻度标签位置

坐标轴标签位置

刻度标签角度

90

0

-90

180

轴标签角度

180

0

0

180

刻度标签垂直对齐

居中

基线

居中

基线

轴标签垂直对齐

居中

居中

刻度标签水平对齐

居中

居中

轴标签水平对齐

居中

居中

刻度线默认位于刻度标签的对侧。要使刻度线与刻度标签位于同侧,

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

以下属性可以自定义(使用 set_xxx 方法)

#

AttributeCopier()

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

一个 artist,用于绘制坐标轴(沿着第 n 个坐标轴坐标恒定的线)、刻度、刻度标签和坐标轴标签。

AxisLabel(*args[, axis_direction, axis])

坐标轴标签。

GridlinesCollection(*args[, which, axis])

网格线集合。

LabelBase(*args, **kwargs)

AxisLabelTickLabels 的基类。

TickLabels(*[, axis_direction])

刻度标签。

Ticks(ticksize[, tick_out, axis])

刻度线派生自 Line2D,请注意刻度本身是标记。