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)

对于复杂的绘图,建议使用显式的面向对象 API,尽管 pyplot 仍然通常用于创建图形,并且通常用于创建图形中的轴。请参阅pyplot.figurepyplot.subplotspyplot.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 应用程序接口 (API)

绘图命令#

acorr

绘制x的自相关。

angle_spectrum

绘制角度谱。

annotate

用文本text注释点xy

arrow

在轴上添加一个箭头。

autoscale

将轴视图自动缩放到数据(切换)。

axes

向当前图形添加一个 Axes 并使其成为当前 Axes。

axhline

在轴上添加一条水平线。

axhspan

在轴上添加一个水平跨度(矩形)。

axis

获取或设置某些轴属性的便捷方法。

axline

添加一条无限长的直线。

axvline

在轴上添加一条垂直线。

axvspan

在轴上添加一个垂直跨度(矩形)。

bar

制作条形图。

bar_label

标记条形图。

barbs

绘制一个 2D 倒钩场。

barh

制作水平条形图。

box

在当前坐标区上打开或关闭坐标区框。

boxplot

绘制箱须图。

broken_barh

绘制矩形的水平序列。

cla

清除当前坐标区。

clabel

标记等高线图。

clf

清除当前图形。

clim

设置当前图像的颜色限制。

close

关闭图形窗口。

cohere

绘制xy之间的相干性。

colorbar

在绘图中添加颜色条。

contour

绘制等高线。

contourf

绘制填充轮廓。

csd

绘制交叉光谱密度。

delaxes

Axes从其图形中删除一个(默认为当前坐标区)。

draw

重绘当前图形。

draw_if_interactive

如果处于交互模式,则重绘当前图形。

errorbar

将 y 与 x 绘制为带有附加误差线的线和/或标记。

eventplot

在给定位置绘制相同的平行线。

figimage

向图中添加未重新采样的图像。

figlegend

在图形上放置一个图例。

fignum_exists

返回具有给定 id 的图形是否存在。

figtext

将文本添加到图形。

figure

创建新地物,或激活现有地物。

fill

绘制填充多边形。

fill_between

填充两条水平曲线之间的区域。

fill_betweenx

填充两条垂直曲线之间的区域。

findobj

查找艺术家对象。

gca

获取当前轴。

gcf

获取当前数字。

gci

获取当前的可着色艺术家。

get

返回一个Artist's property的值,或者打印所有的值。

get_cmap

获取颜色图实例,如果名称为 None,则默认为 rc 值。

get_figlabels

返回现有图形标签的列表。

get_fignums

返回现有图形编号的列表。

getp

返回一个Artist's property的值,或者打印所有的值。

grid

配置网格线。

hexbin

制作点xy的二维六边形分箱图。

hist

计算并绘制直方图。

hist2d

制作二维直方图。

hlines

在从xminxmax的每个y处绘制水平线。

imread

将文件中的图像读入数组。

imsave

将数组保存为图像文件。

imshow

将数据显示为图像,即在 2D 常规栅格上。

install_repl_displayhook

连接到当前shell的显示钩子。

ioff

禁用交互模式。

ion

启用交互模式。

isinteractive

返回是否在每个绘图命令后更新绘图。

legend

在轴上放置一个图例。

locator_params

控制主要刻度定位器的行为。

loglog

在 x 和 y 轴上绘制对数缩放的图。

magnitude_spectrum

绘制幅度谱。

margins

设置或检索自动缩放边距。

matshow

在新图形窗口中将数组显示为矩阵。

minorticks_off

从轴上删除次要刻度。

minorticks_on

在轴上显示次要刻度。

pause

为间隔秒运行 GUI 事件循环。

pcolor

使用非常规矩形网格创建伪彩色图。

pcolormesh

使用非常规矩形网格创建伪彩色图。

phase_spectrum

绘制相位谱。

pie

绘制饼图。

plot

将 y 与 x 绘制为线条和/或标记。

plot_date

[劝阻] 绘制强制轴以将浮点数视为日期。

polar

制作一个极坐标图。

psd

绘制功率谱密度。

quiver

绘制一个二维箭头场。

quiverkey

为箭袋图添加一个键。

rc

设置电流rcParamsgroup是 rc 的分组,例如,对于lines.linewidth组是lines,对于axes.facecolor,组是axes,等等。组也可以是组名的列表或元组,例如 ( xtick , ytick )。kwargs是一个字典属性名称/值对,例如::。

rc_context

返回用于临时更改 rcParams 的上下文管理器。

rcdefaults

rcParams从 Matplotlib 的内部默认样式恢复。

rgrids

获取或设置当前极坐标图上的径向网格线。

savefig

保存当前图形。

sca

将当前 Axes 设置为ax ,将当前 Figure 设置为ax的父级。

scatter

y与y的散点图

sci

设置当前图像。

semilogx

在 x 轴上绘制对数缩放的图。

semilogy

在 y 轴上绘制对数缩放的图。

set_cmap

设置默认颜色图,并将其应用于当前图像(如果有)。

set_loglevel

设置 Matplotlib 的根记录器和根记录器处理程序级别,如果处理程序尚不存在,则创建处理程序。

setp

设置一个或多个属性Artist,或列出允许的值。

show

显示所有打开的数字。

specgram

绘制频谱图。

spy

绘制二维数组的稀疏模式。

stackplot

绘制堆积面积图。

stairs

逐步常数函数作为具有边界的线或填充图。

stem

创建一个茎图。

step

制作阶梯图。

streamplot

绘制矢量流的流线。

subplot

将轴添加到当前图窗或检索现有轴。

subplot2grid

在常规网格内的特定位置创建子图。

subplot_mosaic

基于 ASCII 艺术或嵌套列表构建轴布局。

subplot_tool

为图形启动子图工具窗口。

subplots

创建一个图形和一组子图。

subplots_adjust

调整子图布局参数。

suptitle

为图形添加居中的字幕。

switch_backend

关闭所有打开的图形并设置 Matplotlib 后端。

table

将表添加到Axes.

text

将文本添加到轴。

thetagrids

获取或设置当前极坐标图上的 theta 网格线。

tick_params

更改刻度、刻度标签和网格线的外观。

ticklabel_format

配置ScalarFormatter默认使用的线性轴。

tight_layout

调整子图之间和周围的填充。

title

为轴设置标题。

tricontour

在非结构化三角形网格上绘制等高线。

tricontourf

在非结构化三角形网格上绘制轮廓区域。

tripcolor

创建非结构化三角形网格的伪彩色图。

triplot

绘制一个非结构化的三角形网格作为线条和/或标记。

twinx

创建并返回共享x轴的第二个轴。

twiny

创建并返回共享y轴的第二个轴。

uninstall_repl_displayhook

断开当前 shell 的显示挂钩。

violinplot

制作小提琴情节。

vlines

在每个x处绘制从yminymax的垂直线。

xcorr

绘制xy之间的互相关。

xkcd

打开xkcd素描风格的绘图模式。

xlabel

设置 x 轴的标签。

xlim

获取或设置当前坐标区的 x 限制。

xscale

设置 xaxis 的比例。

xticks

获取或设置 x 轴的当前刻度位置和标签。

ylabel

设置 y 轴的标签。

ylim

获取或设置当前坐标区的 y 限制。

yscale

设置y轴的比例。

yticks

获取或设置 y 轴的当前刻度位置和标签。

其他命令#

connect

将函数func绑定到事件s

disconnect

断开带有 id cid的回调。

get_current_fig_manager

返回当前图形的图形管理器。

ginput

阻止与图形交互的调用。

new_figure_manager

创建一个新的图形管理器实例。

waitforbuttonpress

阻止调用与图形交互。

颜色图#

颜色图可通过颜色图注册表获得matplotlib.colormaps。为方便起见,此注册表可pyplot作为

matplotlib.pyplot。颜色图[来源] #

按名称为 Matplotlib 所知的颜色图的容器。

实验性的

虽然我们希望 API 是最终的,但我们正式将其标记为 3.5 的实验性,因为我们希望保留在需要时仍为 3.6 调整 API 的选项。

通用注册表实例是matplotlib.colormaps. 用户应该不需要实例化ColormapRegistry自己。

读取访问使用类似 dict 的接口将名称映射到Colormaps:

import matplotlib as mpl
cmap = mpl.colormaps['viridis']

返回Colormap的 s 是副本,因此它们的修改不会更改颜色图的全局定义。

可以通过以下方式添加其他颜色图ColormapRegistry.register

mpl.colormaps.register(my_colormap)

此外,还有设置内置颜色图的快捷功能;eg plt.viridis()等价于plt.set_cmap('viridis').

matplotlib.pyplot。color_sequences [来源] #

Matplotlib 按名称已知的颜色序列的容器。

通用注册表实例是matplotlib.color_sequences. 用户应该不需要实例化ColorSequenceRegistry 自己。

读取访问使用类似 dict 的接口将名称映射到颜色列表:

import matplotlib as mpl
cmap = mpl.color_sequences['tab10']

返回的列表是副本,因此它们的修改不会改变颜色序列的全局定义。

可以通过以下方式添加其他颜色序列 ColorSequenceRegistry.register

mpl.color_sequences.register('rgb', ['r', 'g', 'b'])