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)
虽然通常使用 pyplot 来创建图形和图形的 Axes,但对于复杂的绘图,建议使用显式的面向对象 API。参见 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)
关于隐式接口和显式接口之间的权衡,请参阅 Matplotlib 应用程序接口 (APIs)。
管理图形和坐标轴#
在当前图形中添加一个坐标轴,并使其成为当前坐标轴。 |
|
清除当前的 Axes。 |
|
清除当前图形。 |
|
关闭图形窗口。 |
|
从其图形中移除一个 `~.axes.Axes`(默认为当前的 Axes)。 |
|
返回具有给定id的图形是否存在。 |
|
创建一个新图形,或激活一个现有图形。 |
|
获取当前的 Axes。 |
|
获取当前图形。 |
|
返回现有图形标签的列表。 |
|
返回现有图形编号的列表。 |
|
将当前的 Axes 设置为 ax,并将当前的 Figure 设置为 ax 的父级。 |
|
向当前图形添加一个轴,或检索一个现有的轴。 |
|
在常规网格内的特定位置创建一个子图。 |
|
基于ASCII艺术或嵌套列表构建Axes布局。 |
|
创建一个图形和一组子图。 |
|
创建并返回一个共享 x 轴的第二个 Axes。 |
|
创建并返回一个共享 y 轴的第二个 Axes。 |
向图表添加数据#
基本#
绘制 y 相对于 x 的线条和/或标记。 |
|
绘制带有误差线的 y 对 x 的线图和/或标记图。 |
|
散点图 y 对比 |
|
[已弃用] 强制轴将浮点数视为日期进行绘图。 |
|
制作一个阶梯图。 |
|
在x轴和y轴上都使用对数刻度绘制图表。 |
|
在x轴上使用对数刻度绘制图表。 |
|
在y轴上使用对数刻度绘制图表。 |
|
填充两条水平曲线之间的区域。 |
|
填充两条垂直曲线之间的区域。 |
|
制作条形图。 |
|
制作一个水平条形图。 |
|
标记条形图。 |
|
创建一个茎叶图。 |
|
在给定位置绘制相同的平行线。 |
|
绘制一个饼图。 |
|
绘制堆积面积图或流图。 |
|
绘制一排水平排列的矩形。 |
|
在每个 x 处从 ymin 到 ymax 绘制垂直线。 |
|
在从 xmin 到 xmax 的每个 y 处绘制水平线。 |
|
绘制填充多边形。 |
|
制作一个极坐标图。 |
跨度#
光谱#
绘制 x 的自相关图。 |
|
绘制角度频谱。 |
|
绘制 x 和 y 之间的连贯性。 |
|
绘制交叉谱密度。 |
|
绘制幅度谱。 |
|
绘制相位谱。 |
|
绘制功率谱密度。 |
|
绘制频谱图。 |
|
绘制 x 和 y 之间的互相关。 |
统计#
计算并绘制 x 的经验累积分布函数。 |
|
绘制一个箱线图。 |
|
制作一个小提琴图。 |
分箱#
轮廓#
二维数组#
非结构化三角形#
绘制一个非结构化的三角形网格作为线条和/或标记。 |
|
创建一个非结构化三角形网格的伪彩色图。 |
|
在非结构化的三角形网格上绘制等高线。 |
|
在非结构化的三角网格上绘制等值线区域。 |
文本和注释#
矢量场#
绘制风羽的二维场。 |
|
绘制一个二维箭头场。 |
|
向箭袋图添加一个键。 |
|
绘制矢量流的流线。 |
轴配置#
自动缩放轴视图以适应数据(切换)。 |
|
获取或设置某些轴属性的便捷方法。 |
|
在当前的Axes上打开或关闭Axes框。 |
|
配置网格线。 |
|
控制主要刻度定位器的行为。 |
|
从 Axes 中移除次要刻度。 |
|
在 Axes 上显示次要刻度。 |
|
获取或设置当前极坐标图上的径向网格线。 |
|
获取或设置当前极坐标图上的theta网格线。 |
|
更改刻度、刻度标签和网格线的外观。 |
|
配置默认用于线性轴的 |
|
设置x轴的标签。 |
|
获取或设置当前 Axes 的 x 轴限制。 |
|
设置 x 轴的刻度。 |
|
获取或设置 x 轴的当前刻度位置和标签。 |
|
设置y轴的标签。 |
|
获取或设置当前Axes的y轴限制。 |
|
设置 y 轴的刻度。 |
|
获取或设置当前 y 轴的刻度位置和标签。 |
|
为图形添加一个居中的上标题。 |
|
为 Axes 设置标题。 |
布局#
设置或检索用于自动缩放轴限制的数据周围的边距。 |
|
调整子图布局参数。 |
|
为图形启动一个子图工具窗口。 |
|
调整子图之间和周围的填充。 |
颜色映射#
设置当前图像的颜色限制。 |
|
向绘图添加颜色条。 |
|
获取当前可着色的艺术家。 |
|
设置当前图像。 |
|
获取一个颜色映射实例,如果 name 为 None,则默认为 rc 值。 |
|
设置默认的色图,并将其应用于当前图像(如果有)。 |
|
从文件中读取图像到数组中。 |
|
颜色映射并将数组保存为图像文件。 |
通过颜色映射注册表 matplotlib.colormaps 可以获取颜色映射。为了方便,这个注册表在 pyplot 中也可以使用。
- matplotlib.pyplot.colormaps[源代码]#
包含已知名称的 colormap 的容器,这些 colormap 被 Matplotlib 识别。
通用注册表实例是
matplotlib.colormaps。用户无需自行实例化ColormapRegistry。读取访问使用类似字典的接口,将名称映射到
Colormaps: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[源代码]#
包含已知名称的颜色序列的容器。
通用注册表实例是
matplotlib.color_sequences。用户不需要自己实例化ColorSequenceRegistry。读取访问使用了一个类似字典的接口,将名称映射到颜色列表:
import matplotlib as mpl cmap = mpl.color_sequences['tab10']
返回的列表是副本,因此它们的修改不会改变颜色序列的全局定义。
可以通过
ColorSequenceRegistry.register添加额外的颜色序列:mpl.color_sequences.register('rgb', ['r', 'g', 'b'])
配置#
输出#
重新绘制当前图形。 |
|
如果在交互模式下,重新绘制当前图形。 |
|
禁用交互模式。 |
|
启用交互模式。 |
|
连接到当前 shell 的显示钩子。 |
|
返回是否在每次绘图命令后更新绘图。 |
|
运行GUI事件循环 interval 秒。 |
|
将当前图形保存为图像或矢量图形文件。 |
|
显示所有打开的图形。 |
|
设置 pyplot 后端。 |
|
断开当前shell的显示钩子。 |