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 侧进行更改。
坐标轴方向#
AxisArtist
、AxisLabel
、TickLabels
都有一个 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
方法)
Ticks
: ticksize(刻度大小), tick_out(刻度外移)TickLabels
: pad(填充)AxisLabel
: pad(填充)
类#
|
一个 artist,用于绘制坐标轴(沿着第 n 个坐标轴坐标恒定的线)、刻度、刻度标签和坐标轴标签。 |
|
坐标轴标签。 |
|
网格线集合。 |
|
|
|
刻度标签。 |
|
刻度线派生自 |