mpl_工具包.轴艺术家.轴艺术家#

The axis_artist 模块实现了自定义艺术家来绘制轴元素(轴线与标签、刻度线与标签、网格线)。

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

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

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

子属性(颜色、字体、线宽等)可以使用设置器进行设置,例如:

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

然而,像刻度位置和刻度标签这样的东西需要从 grid_helper 的一侧进行更改。

axis_direction#

AxisArtist, AxisLabel, TickLabels 具有一个 axis_direction 属性,用于调整位置、角度等。axis_direction 必须是 "left", "right", "bottom", "top" 之一,并遵循 Matplotlib 的矩形轴约定。

例如,对于 底部 轴(左右是相对于坐标增加的方向),

  • ticklabels 和 axislabel 在右侧

  • ticklabels 和 axislabel 的文字角度为 0

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

  • axislabel 位于顶部,居中对齐

文本角度实际上是相对于(90 + 刻度标签方向的角度)的,这使得底部轴的角度为0。

属性

底部

正确

顶部

刻度标签位置

正确

正确

轴标签位置

正确

正确

刻度标签角度

90

0

-90

180

axislabel 角度

180

0

0

180

ticklabel va

中心

基线

中心

基线

轴标签 垂直对齐

中心

顶部

中心

底部

刻度标签

正确

中心

正确

中心

轴标签 ha

正确

中心

正确

中心

刻度线默认与刻度标签在相对的两侧。要让刻度线与刻度标签在同一侧,:

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

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

#

AttributeCopier()

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

一个绘制轴(沿其n轴坐标为常数的线)、刻度、刻度标签和轴标签的艺术家。

AxisLabel(*args[, axis_direction, axis])

轴标签。

GridlinesCollection(*args[, which, axis])

网格线的集合。

LabelBase(*args, **kwargs)

AxisLabelTickLabels 的基类。

TickLabels(*[, axis_direction])

刻度标签。

Ticks(ticksize[, tick_out, axis])

刻度线源自 Line2D,需要注意的是,刻度线本身是标记。