# 坐标轴概述
# 在绘制图表的过程中,matplotlib 会根据所绘图表的类型决定是否使用坐标系,或者显示哪种类型的坐标系。例如,饼图无坐标系,雷达图需使用极坐标系,折线图需使用直角坐标系等。其中,直角坐标系经常被使用。matplotlib 中的直角坐标系由两条水平坐标轴、两条垂直坐标轴以及围成的绘图区域构成,以限制图形显示的区域,其左侧和下方的坐标轴 (叫作 y 轴和 X轴) 经常被使用,其他坐标轴很少被使用。
坐标轴的结构相同,主要包括轴脊、刻度,其中刻度又可以细分为刻度线和刻度标签,刻度线又可以细分为主刻度线和次刻度线。坐标轴的各部分均是 matplotlib 类的对象:坐标轴是 axis.Axis 类的对象;轴脊是 spines.Spine 类的对象;刻度是 axis.Ticker 类的对象。此外,常用的 x 轴是一个 axis.Xaxis 类的对象,y 轴是一个 axis.Yaxis 类的对象。如前所述的所有类的对象均包含于 Axes 类对象中,可通过 Axes 类的一些属性分别获取,关于这些属性的介绍如下。
# · xaxis :获取 X 轴。<br.>· yaxis :获取 y 轴。
· spines :获取包含全部轴脊的字典。
# 访问 spines 属性后会返回一个 OrderedDict 类的对象。OrderedDict 类是 diet 的子类,它可以维护添加到字典中的键值对的顺序。例如,获取某坐标轴的全部轴脊,代码如下。
print(ax.spines)
# 程序运行的结果如下。
OrderedDict([
('left', <matplotlib.spines.Spine object at 0x0000000007F0F860>),
('right', <matplotlib.spines.Spine object at 0x0000000007F0FCF8>),
('bottom', <matplotlib.spines.Spine object at 0x0000000007F0F6D8>),
('top', <matplotlib.spines.Spine object at 0x0000000007EFB6D8>)])
# 从以上输出的字典可知,字典中有 4 个包含 Spine 类对象的元组,它以元组的第一个元素为键,使用 'left'、'right'、'bottom'、'top',分别可获取位于坐标轴左侧、右侧、下方和上方的 Spine 类对象。
← 子图的布局 向任意位置添加坐标轴 →