matplotlib.pyplot
#
matplotlib.pyplot
是 Matplotlib 的基于状态的接口。它提供了一种隐式、类似 MATLAB 的绘图方式。它还在屏幕上打开图,并充当图 GUI 管理器。
pyplot 主要用于交互式绘图和简单的程序化图生成情况。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.show()
对于复杂的绘图,推荐使用显式面向对象的 API,尽管 pyplot 通常仍用于创建图和图中的 Axes 坐标系。请参阅 pyplot.figure
、pyplot.subplots
和 pyplot.subplot_mosaic
来创建图,并参阅 Axes API 以了解 Axes 上的绘图方法。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5, 0.1)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()
有关隐式和显式接口之间权衡的解释,请参阅 Matplotlib 应用程序接口 (APIs)。
管理图和坐标系#
向当前图添加一个 Axes 坐标系并将其设为当前 Axes 坐标系。 |
|
清除当前 Axes 坐标系。 |
|
清除当前图。 |
|
关闭图窗口,并从 pyplot 中注销。 |
|
从其图中断开并移除一个 |
|
返回给定 ID 的图是否存在。 |
|
创建新图,或激活现有图。 |
|
获取当前 Axes。 |
|
获取当前图。 |
|
返回现有图标签的列表。 |
|
返回现有图编号的列表。 |
|
将当前 Axes 坐标系设置为 *ax*,并将当前图设置为 *ax* 的父级。 |
|
向当前图添加 Axes 坐标系或检索现有 Axes 坐标系。 |
|
在规则网格内的特定位置创建子图。 |
|
根据 ASCII 艺术或嵌套列表构建 Axes 布局。 |
|
创建一个图和一组子图。 |
|
创建并返回一个共享 *x* 轴的第二个 Axes 坐标系。 |
|
创建并返回一个共享 *y* 轴的第二个 Axes 坐标系。 |
向绘图添加数据#
基本#
将 y 对 x 绘制为线和/或标记。 |
|
将 y 对 x 绘制为带有误差线的线和/或标记。 |
|
*y* 对 *x* 的散点图。 |
|
[已弃用] 绘图时强制轴将浮点数视为日期。 |
|
绘制阶梯图。 |
|
绘制 x 轴和 y 轴均采用对数刻度的图。 |
|
绘制 x 轴采用对数刻度的图。 |
|
绘制 y 轴采用对数刻度的图。 |
|
填充两条水平曲线之间的区域。 |
|
填充两条垂直曲线之间的区域。 |
|
绘制条形图。 |
|
绘制水平条形图。 |
|
为条形图添加标签。 |
|
创建一个茎叶图。 |
|
在给定位置绘制相同的平行线。 |
|
绘制饼图。 |
|
绘制堆叠面积图或流线图。 |
|
绘制一系列水平矩形。 |
|
在每个 x 处绘制从 ymin 到 ymax 的垂直线。 |
|
在每个 y 位置从 xmin 到 xmax 绘制水平线。 |
|
绘制填充多边形。 |
|
创建极坐标图。 |
跨度#
光谱#
绘制 x 的自相关。 |
|
绘制角度谱。 |
|
绘制 *x* 和 *y* 之间的相干性。 |
|
绘制交叉谱密度。 |
|
绘制幅度谱。 |
|
绘制相位谱。 |
|
绘制功率谱密度。 |
|
绘制频谱图。 |
|
绘制 x 和 y 之间的互相关。 |
统计#
计算并绘制 x 的经验累积分布函数。 |
|
绘制箱线图。 |
|
绘制小提琴图。 |
分箱#
等高线#
二维数组#
非结构化三角形#
将非结构化三角形网格绘制为线和/或标记。 |
|
创建一个非结构化三角网格的伪彩色图。 |
|
在非结构化三角形网格上绘制等高线。 |
|
在非结构化三角形网格上绘制等高线区域。 |
文本和注释#
矢量场#
绘制 2D 风矢图。 |
|
绘制 2D 箭头场。 |
|
为quiver图添加图例。 |
|
绘制矢量流的流线。 |
坐标系配置#
将轴视图自动缩放至数据(切换)。 |
|
获取或设置某些轴属性的便捷方法。 |
|
打开或关闭当前 Axes 坐标系的边框。 |
|
配置网格线。 |
|
控制主要刻度定位器的行为。 |
|
从 Axes 中移除次刻度。 |
|
在 Axes 上显示次刻度。 |
|
获取或设置当前极坐标图上的径向网格线。 |
|
获取或设置当前极坐标图上的角度网格线。 |
|
更改刻度、刻度标签和网格线的显示。 |
|
配置线性 Axes 坐标系默认使用的 |
|
设置 x 轴的标签。 |
|
获取或设置当前 Axes 坐标系的 x 限制。 |
|
设置 x 轴的比例。 |
|
获取或设置 x 轴的当前刻度位置和标签。 |
|
设置 y 轴的标签。 |
|
获取或设置当前 Axes 坐标系的 y 限制。 |
|
设置 y 轴的比例。 |
|
获取或设置 y 轴的当前刻度位置和标签。 |
|
向图形添加一个居中的总标题。 |
|
为 Axes 设置标题。 |
布局#
设置或检索数据周围的边距,用于自动缩放轴限制。 |
|
调整子图布局参数。 |
|
启动一个图的子图工具窗口。 |
|
调整子图之间和周围的填充。 |
颜色映射#
设置当前图像的颜色限制。 |
|
向绘图添加一个颜色条。 |
|
获取当前可着色艺术家。 |
|
设置当前图像。 |
|
获取颜色映射实例,如果 *name* 为 None,则默认为 rc 值。 |
|
设置默认颜色映射,并将其应用于当前图像(如果有)。 |
|
从文件读取图像到数组。 |
|
对数组进行颜色映射并将其保存为图像文件。 |
颜色映射可通过颜色映射注册表 matplotlib.colormaps
获得。为方便起见,此注册表在 pyplot
中可用,如下:
- matplotlib.pyplot.colormaps[source]#
已知 Matplotlib 命名的色彩映射容器。
通用注册表实例是
matplotlib.colormaps
。用户无需自行实例化ColormapRegistry
。读取访问使用类似字典的接口,将名称映射到
Colormap
。import matplotlib as mpl cmap = mpl.colormaps['viridis']
返回的
Colormap
是副本,因此对其的修改不会改变颜色映射的全局定义。可通过
ColormapRegistry.register
添加其他颜色映射。mpl.colormaps.register(my_colormap)
要获取所有注册色彩映射的列表,您可以执行以下操作:
from matplotlib import colormaps list(colormaps)
此外,还有设置内置颜色映射的快捷函数;例如,plt.viridis()
等同于 plt.set_cmap('viridis')
。
- matplotlib.pyplot.color_sequences[source]#
已知 Matplotlib 命名的颜色序列容器。
通用注册表实例是
matplotlib.color_sequences
。用户无需自行实例化ColorSequenceRegistry
。读访问使用类似字典的接口,将名称映射到颜色列表。
import matplotlib as mpl colors = mpl.color_sequences['tab10']
有关内置颜色序列的列表,请参阅 命名颜色序列。返回的列表是副本,因此对其的修改不会改变颜色序列的全局定义。
可通过
ColorSequenceRegistry.register
添加其他颜色序列。mpl.color_sequences.register('rgb', ['r', 'g', 'b'])
配置#
输出#
重新绘制当前图。 |
|
如果在交互模式下,重新绘制当前图。 |
|
禁用交互模式。 |
|
启用交互模式。 |
|
连接到当前 shell 的显示挂钩。 |
|
返回是否在每次绘图命令后更新绘图。 |
|
运行 GUI 事件循环 interval 秒。 |
|
将当前图形保存为图像或矢量图形文件。 |
|
显示所有打开的图形。 |
|
设置 pyplot 后端。 |
|
断开与当前 shell 的显示挂钩的连接。 |