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 |
以x 、y 轴为对数刻度进行绘图 |
axes.semilogy |
以y 轴为对数刻度进行绘图 |
axes.stem |
绘制茎叶图(杆图、棉棒图、火柴杆图) | axes.step |
绘制阶梯图 |
axes.pie |
绘制饼状图 | axes.stackplot |
绘制堆积面积图 |
axes.fill_between |
填充两条水平曲线之间的区域 | axes.fill_betweenx |
填充两条垂直曲线之间的区域 |
axes.fill |
绘制填充多边形 | axes.eventplot |
在给定位置绘制相同的平行线 |
axes.vlines |
在x 轴上绘制从ymin 到ymax 的垂直线条 |
axes.hlines |
在y 轴上绘制从xmin 到xmax 的水平线条 |
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 |
绘制x 和y 之间的相干性 |
axes.csd |
绘制交叉光谱密度 |
axes.magnitude_spectrum |
绘制幅度谱 | axes.phase_spectrum |
绘制相位谱 |
axes.psd |
绘制功率谱密度 | axes.specgram |
绘制频谱图 |
axes.xcorr |
绘制x 和y 之间的互相关 |
||
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 |
关闭x 与y 轴 |
Axes.set_axis_on |
开启x 与y 轴 |
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小技巧
本文来自博客园,作者:人工智能技术栈,转载请注明原文链接:https://www.cnblogs.com/metafullstack/p/17645662.html