Python matplotlib.axes对象常用属性(绘图方式、坐标轴、刻度等)

Axes类可以设置图片(或子图)中相关属性:绘图数据、坐标轴刻度/标签、标题、图例等。它是Python操作绘图的主要接口。Matplotlib定义了一个axes类(轴域类),在一个给定的画布(figure)中可以包含多个axes对象,但是同一个axes对象只能在一个画布中使用。比如,2D绘图区域(axes)包含两个轴(axis)对象;如果是3D绘图区域,则包含三个。据此,我们就可以理解下面一个常见问题:

在Python的实际绘图中,为什么要用ax而不是plt

  • 因为在绘制子图过程中,对于每一个子图属性的不同设置,ax可以直接实现对于单个子图的设定。而plt则是针对整个图片的属性进行全局设置。

Axes类常被用来进行绘图方式坐标轴设置两个方面,对此本文对它们的主要类方法进行简要总结。更详细的可以参考官方手册📚:matplotlib.axes — Matplotlib 3.7.2 documentation

参考博文python matplotlib.axes相关属性设置(绘图方式、坐标轴、坐标刻度、文本等)_matplotlib plt.axes_简朴-ocean的博客-CSDN博客

一、绘图方式

1.1 基本绘图方式

Axes类方法 功能 Axes类方法 功能
Axes.plot 绘制线条或标记 Axes.scatter 绘制散点图
Axes.bar 绘制条形图 Axes.barh 绘制水平条形图
Axes.errorbar 绘制带有误差棒的线条图或标记 Axes.bar_label 标记条形图
Axes.semilogx x轴为对数刻度进行绘图 Axes.semilogy y轴为对数刻度进行绘图
axes.loglog xy轴为对数刻度进行绘图 axes.semilogy y轴为对数刻度进行绘图
axes.stem 绘制茎叶图(杆图、棉棒图、火柴杆图) axes.step 绘制阶梯图
axes.pie 绘制饼状图 axes.stackplot 绘制堆积面积图
axes.fill_between 填充两条水平曲线之间的区域 axes.fill_betweenx 填充两条垂直曲线之间的区域
axes.fill 绘制填充多边形 axes.eventplot 在给定位置绘制相同的平行线
axes.vlines x轴上绘制从yminymax的垂直线条 axes.hlines y轴上绘制从xminxmax的水平线条

1.2 跨度、频谱、填充、2d数组的绘图方式

Axes类方法 功能 Axes类方法 功能
1. 跨度相关绘图方式
axes.axhline 在轴上添加一条水平线 axes.axhspan 在轴上添加水平跨度(矩形)
axes.axvline 在轴上添加一条垂直线 axes.axvspan 在轴上添加垂直跨度(矩形)
axes.axline 添加无限长的直线
2. 频谱相关绘图方式
axes.acorr 绘制x的自相关 axes.angle_spectrum 绘制角度光谱
axes.cohere 绘制xy之间的相干性 axes.csd 绘制交叉光谱密度
axes.magnitude_spectrum 绘制幅度谱 axes.phase_spectrum 绘制相位谱
axes.psd 绘制功率谱密度 axes.specgram 绘制频谱图
axes.xcorr 绘制xy之间的互相关
3. 填充相关绘图方式
Axes.contour 绘制轮廓线 Axes.contourf 绘制填充轮廓
Axes.clabel 标注等高线图
4. 2D数组相关绘图方式
Axes.imshow 将数据显示为图像,即在2D常规栅格上 Axes.matshow 将2D矩阵或数组的值绘制为颜色编码的图像
Axes.pcolor 创建具有非规则矩形网格的伪彩色图 Axes.pcolorfast 创建具有非规则矩形网格的伪彩色图
Axes.pcolormesh 创建具有非规则矩形网格的伪彩色图 Axes.spy 绘制2D阵列的稀疏模式

二、坐标轴属性设置

2.1 坐标轴外部属性

Axes类方法 功能 Axes类方法 功能
Axes.axis 获取或设置某些轴属性的便捷方法 Axes.grid 增加网格线
Axes.set_axis_off 关闭xy Axes.set_axis_on 开启xy
Axes.set_frame_on 设置是否绘制轴矩形补丁 Axes.get_frame_on 获取绘制的矩形补丁

2.2 轴的范围/方向、标签、标题、图例以及刻度

Axes类方法 功能 Axes类方法 功能
1. 范围与方向
Axes.set_xlim 设置x轴范围 Axes.get_xlim 返回x轴范围
Axes.set_ylim 设置y轴范围 Axes.get_ylim 返回y轴范围
Axes.set_xbound 设置x轴的上下边界 Axes.get_xbound 返回x轴的上下边界
Axes.set_ybound 设置y轴的上下边界 Axes.get_ybound 返回y轴的上下边界
Axes.invert_xaxis 反转x Axes.xaxis_inverted 返回x轴是否沿反方向定向
Axes.invert_yaxis 反转y Axes.yaxis_inverted 返回y轴是否沿反方向定向
2. 标签
Axes.set_xlabel 设置x轴的标签 Axes.get_xlabel 获取xlabel文本字符串
Axes.set_ylabel 设置y轴的标签 Axes.get_ylabel 获取ylabel文本字符串
3. 标题与图例
Axes.set_title 为轴设置标题 Axes.get_title 获取轴标题
Axes.legend 在轴上设置图例 Axes.get_legend 返回图例实例
Axes.get_legend_handles_labels 返回图例的句柄和标签
4. 刻度
Axes.set_xscale 设置x轴比例 Axes.get_xscale 返回x轴的比例尺字符串
Axes.set_yscale 设置y轴比例 Axes.get_yscale 返回y轴的比例尺字符串
Axes.set_xticks 设置x轴的刻度位置 Axes.get_xticks 返回数据坐标中x轴的刻度位置
Axes.set_yticks 设置y轴的刻度位置 Axes.get_yticks 返回数据坐标中y轴的刻度位置
Axes.set_xticklabels 使用字符串标签列表设置x轴标签 Axes.get_xticklabels 获取x轴的刻度标签
Axes.set_yticklabels 使用字符串标签列表设置y轴标签 Axes.get_yticklabels 获取y轴的刻度标签
Axes.get_xmajorticklabels 返回x轴的主要刻度标签 Axes.get_xminorticklabels 返回x轴的次刻度标签
Axes.get_ymajorticklabels 返回y轴的主要刻度标签 Axes.get_yminorticklabels 返回y轴的次刻度标签
Axes.minorticks_off 去除轴上的细小滴答声 Axes.minorticks_on 在轴上显示较小的刻度

附录

博文鉴赏:

Markdown小技巧

posted @ 2023-08-21 11:52  人工智能技术栈  阅读(1096)  评论(0编辑  收藏  举报