matplotlib.axes.Axes.plot#

Axes.plot(*args, scalex=True, scaley=True, data=None, **kwargs)[源]#

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

调用签名

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

点或线节点的坐标由 xy 给出。

可选参数 fmt 是一种方便的方法,用于定义基本格式,如颜色、标记和线型。它是下面 Notes 部分中描述的快捷字符串表示法。

>>> plot(x, y)        # plot x and y using default line style and color
>>> plot(x, y, 'bo')  # plot x and y using blue circle markers
>>> plot(y)           # plot y using x as index array 0..N-1
>>> plot(y, 'r+')     # ditto, but with red plusses

您可以使用 Line2D 属性作为关键字参数,以更精细地控制外观。线条属性和 fmt 可以混合使用。以下两个调用会产生相同的结果:

>>> plot(x, y, 'go--', linewidth=2, markersize=12)
>>> plot(x, y, color='green', marker='o', linestyle='dashed',
...      linewidth=2, markersize=12)

当与 fmt 冲突时,关键字参数优先。

绘制带标签的数据

有一种方便的方法可以绘制带标签数据的对象(即可以通过索引 obj['y'] 访问的数据)。您可以不在 xy 中提供数据,而是在 data 参数中提供对象,并仅给出 xy 的标签。

>>> plot('xlabel', 'ylabel', data=obj)

支持所有可索引对象。例如,这可以是 dictpandas.DataFrame 或结构化 NumPy 数组。

绘制多组数据

有多种方法可以绘制多组数据。

  • 最直接的方法是多次调用 plot。示例:

    >>> plot(x1, y1, 'bo')
    >>> plot(x2, y2, 'go')
    
  • 如果 x 和/或 y 是二维数组,则会为每个列绘制一个单独的数据集。如果 xy 都是二维的,它们必须具有相同的形状。如果其中只有一个是形状为 (N, m) 的二维数组,则另一个必须具有长度 N,并将用于每个数据集 m。

    示例

    >>> x = [1, 2, 3]
    >>> y = np.array([[1, 2], [3, 4], [5, 6]])
    >>> plot(x, y)
    

    等同于

    >>> for col in range(y.shape[1]):
    ...     plot(x, y[:, col])
    
  • 第三种方法是指定多组 [x]y[fmt]

    >>> plot(x1, y1, 'g^', x2, y2, 'g-')
    

    在这种情况下,任何额外的关键字参数都适用于所有数据集。此外,此语法不能与 data 参数结合使用。

默认情况下,每条线都分配有一个由“样式循环”指定的不同样式。只有当您希望明确偏离这些默认值时,才需要 fmt 和线条属性参数。或者,您也可以使用 rcParams["axes.prop_cycle"](默认值:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']))。

参数:
x, y类数组或浮点数

数据点的水平/垂直坐标。x 值是可选的,默认为 range(len(y))

通常,这些参数是一维数组。

它们也可以是标量或二维(在这种情况下,列表示单独的数据集)。

这些参数不能作为关键字传递。

fmtstr,可选

格式字符串,例如“ro”表示红色圆圈。有关格式字符串的完整说明,请参见 Notes 部分。

格式字符串只是快速设置基本线条属性的缩写。所有这些以及更多属性也可以通过关键字参数控制。

此参数不能作为关键字传递。

data可索引对象,可选

一个带标签数据的对象。如果给出,则提供要在 *x* 和 *y* 中绘制的标签名称。

注意

从技术上讲,当第二个标签是有效的 fmt 时,调用存在轻微歧义。plot('n', 'o', data=obj) 可能是 plt(x, y)plt(y, fmt)。在这种情况下,会选择前一种解释,但会发出警告。您可以通过添加一个空格式字符串 plot('n', 'o', '', data=obj) 来抑制警告。

返回:
Line2D 列表

表示已绘制数据的一系列线。

其他参数:
scalex, scaley布尔值,默认值:True

这些参数决定视图限制是否适应数据限制。这些值会传递给 autoscale_view

**kwargsLine2D 属性,可选

kwargs 用于指定线条属性,例如线条标签(用于自动图例)、线宽、抗锯齿、标记面颜色。示例:

>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2)
>>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')

如果您在一次绘图调用中指定多条线,则 kwargs 适用于所有这些线。如果标签对象是可迭代的,则每个元素都将用作每组数据的标签。

以下是可用的 Line2D 属性列表:

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

浮点数或 None

animated

布尔值

antialiasedaa

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

colorc

color

dash_capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

dash_joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

dashes

浮点数序列(点中的开/关墨迹)或 (None, None)

data

(2, N) 数组或两个一维数组

drawstyleds

{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'},默认值: 'default'

figure

FigureSubFigure

fillstyle

{'full', 'left', 'right', 'bottom', 'top', 'none'}

gapcolor

颜色 或 None

gid

str

in_layout

布尔值

label

object

linestylels

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidthlw

浮点数

marker

标记样式字符串,PathMarkerStyle

markeredgecolormec

color

markeredgewidthmew

浮点数

markerfacecolormfc

color

markerfacecoloraltmfcalt

color

markersizems

浮点数

markevery

None 或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]

mouseover

布尔值

path_effects

AbstractPathEffect 的列表

picker

浮点数或 callable[[Artist, Event], tuple[bool, dict]]

pickradius

浮点数

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

solid_capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

solid_joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

transform

未知

url

str

visible

布尔值

xdata

一维数组

ydata

一维数组

zorder

浮点数

另请参阅

散点图

带有不同大小和/或颜色标记的 XY 散点图(有时也称为气泡图)。

备注

格式字符串

格式字符串由颜色、标记和线条部分组成。

fmt = '[marker][line][color]'

它们都是可选的。如果未提供,则使用样式循环中的值。例外:如果给定了 line 但没有 marker,数据将是一条没有标记的线。

也支持其他组合,例如 [color][marker][line],但请注意它们的解析可能存在歧义。

标记

字符

描述

'.'

点标记

','

像素标记

'o'

圆形标记

'v'

向下三角形标记

'^'

向上三角形标记

'<'

向左三角形标记

'>'

向右三角形标记

'1'

向下三标记

'2'

向上三标记

'3'

向左三标记

'4'

向右三标记

'8'

八边形标记

's'

方形标记

'p'

五边形标记

'P'

加号(填充)标记

'*'

星形标记

'h'

六边形1标记

'H'

六边形2标记

'+'

加号标记

'x'

x标记

'X'

x(填充)标记

'D'

菱形标记

'd'

细菱形标记

'|'

垂直线标记

'_'

水平线标记

线型

字符

描述

'-'

实线样式

'--'

虚线样式

'-.'

点划线样式

':'

点线样式

格式字符串示例

'b'    # blue markers with default shape
'or'   # red circles
'-g'   # green solid line
'--'   # dashed line with default color
'^k:'  # black triangle_up markers connected by a dotted line

颜色

支持的颜色缩写是单字母代码:

字符

color

'b'

蓝色

'g'

绿色

'r'

红色

'c'

青色

'm'

洋红色

'y'

黄色

'k'

黑色

'w'

白色

以及索引到默认属性循环的 'CN' 颜色。

如果颜色是格式字符串的唯一部分,您还可以使用任何 matplotlib.colors 规范,例如全名('green')或十六进制字符串('#008000')。

使用 matplotlib.axes.Axes.plot 的示例#

衰减

衰减

贝叶斯更新

贝叶斯更新

双摆问题

双摆问题

多坐标轴动画

多坐标轴动画

动画三维随机游走

动画三维随机游走

动画折线图

动画折线图

Matplotlib 解链

Matplotlib 解链

具有固定物理大小的坐标轴

具有固定物理大小的坐标轴

简单寄生轴

简单寄生轴

简单轴线4

简单轴线4

轴线样式

轴线样式

寄生坐标轴演示

寄生坐标轴演示

寄生轴演示

寄生轴演示

使用 axisartist 自定义坐标轴脊线

使用 axisartist 自定义坐标轴脊线

简单轴线

简单轴线

按 Y 值着色

按 Y 值着色

默认属性周期中的颜色

默认属性周期中的颜色

颜色演示

颜色演示

从色彩映射中选择单个颜色

从色彩映射中选择单个颜色

鼠标移动和点击事件

鼠标移动和点击事件

十字光标

十字光标

数据浏览器

数据浏览器

按键事件

按键事件

图例选择

图例选择

放大镜

放大镜

路径编辑器

路径编辑器

选择事件演示

选择事件演示

选择事件演示 2

选择事件演示 2

数据重采样

数据重采样

计时器

计时器

等高线角掩码

等高线角掩码

不规则间隔数据的等高线图

不规则间隔数据的等高线图

pcolormesh 网格和着色

pcolormesh 网格和着色

频谱图

频谱图

三角插值演示

三角插值演示

无限线条

无限线条

绘制分类变量

绘制分类变量

互谱密度 (CSD)

互谱密度 (CSD)

带误差带的曲线

带误差带的曲线

EventCollection 演示

EventCollection 演示

带透明度的 fill_between

带透明度的 fill_between

填充两条线之间的区域

填充两条线之间的区域

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

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

虚线样式配置

虚线样式配置

带有刻度路径效果的线条

带有刻度路径效果的线条

标记参考

标记参考

Markevery 演示

Markevery 演示

将标记属性映射到多变量数据

将标记属性映射到多变量数据

功率谱密度 (PSD)

功率谱密度 (PSD)

折线图

折线图

使用 fill_between 填充由逻辑掩码定义的区域

使用 fill_between 填充由逻辑掩码定义的区域

步进图演示

步进图演示

带线条、日期和文本的时间线

带线条、日期和文本的时间线

hlines 和 vlines

hlines 和 vlines

识别艺术家是否相交

识别艺术家是否相交

自定义投影

自定义投影

路径效果演示

路径效果演示

将 SVG 滤镜应用于线条

将 SVG 滤镜应用于线条

TickedStroke 路径效果

TickedStroke 路径效果

Zorder 演示

Zorder 演示

在三维图上绘制二维数据

在三维图上绘制二维数据

三维箱体表面图

三维箱体表面图

参数曲线

参数曲线

洛伦兹吸引子

洛伦兹吸引子

同一图形中的二维和三维坐标轴

同一图形中的二维和三维坐标轴

极坐标图

极坐标图

极坐标图例

极坐标图例

使用 pyplot 的多条线

使用 pyplot 的多条线

Asinh 刻度

Asinh 刻度

对数对数纵横比

对数对数纵横比

Symlog 刻度

Symlog 刻度

带方向箭头的椭圆演示

带方向箭头的椭圆演示

PathPatch 对象

PathPatch 对象

贝塞尔曲线

贝塞尔曲线

图形解剖

图形解剖

曲线下面积的积分

曲线下面积的积分

32 年来的股票价格

32 年来的股票价格

XKCD

XKCD

安斯库姆四重奏

安斯库姆四重奏

石川图

石川图

雷达图(又称蜘蛛图或星图)

雷达图(又称蜘蛛图或星图)

带箭头的居中坐标轴脊线

带箭头的居中坐标轴脊线

带有坐标轴脊线的多个 Y 轴

带有坐标轴脊线的多个 Y 轴

坐标轴脊线放置

坐标轴脊线放置

坐标轴脊线

坐标轴脊线

箱线图

箱线图

深色背景样式表

深色背景样式表

FiveThirtyEight 样式表

FiveThirtyEight 样式表

ggplot 样式表

ggplot 样式表

对齐标签和标题

对齐标签和标题

以编程方式控制子图调整

以编程方式控制子图调整

坐标轴框纵横比

坐标轴框纵横比

坐标轴演示

坐标轴演示

使用边距和粘性边缘控制视图限制

使用边距和粘性边缘控制视图限制

坐标轴属性

坐标轴属性

绘制跨越坐标轴的区域

绘制跨越坐标轴的区域

断裂坐标轴

断裂坐标轴

使用受限布局调整坐标轴大小

使用受限布局调整坐标轴大小

使用紧密布局调整坐标轴大小

使用紧密布局调整坐标轴大小

图形标签:suptitle, supxlabel, supylabel

图形标签:suptitle, supxlabel, supylabel

反向坐标轴

反向坐标轴

次坐标轴

次坐标轴

共享坐标轴限制和视图

共享坐标轴限制和视图

图形子图形

图形子图形

多个子图

多个子图

使用 plt.subplots 创建多个子图

使用 plt.subplots 创建多个子图

带有不同刻度的图

带有不同刻度的图

带重音的文本

带重音的文本

对齐 Y 轴标签

对齐 Y 轴标签

比例不变角度标签

比例不变角度标签

注释变换

注释变换

注释图

注释图

注释图表

注释图表

注释极坐标图

注释极坐标图

组合自定义图例

组合自定义图例

日期刻度标签

日期刻度标签

AnnotationBbox 演示

AnnotationBbox 演示

使用工程记数法格式化刻度

使用工程记数法格式化刻度

注释箭头样式参考

注释箭头样式参考

使用预定义标签的图例

使用预定义标签的图例

图例演示

图例演示

数学文本

数学文本

数学字体系列

数学字体系列

多行

多行

使用 TeX 渲染数学方程

使用 TeX 渲染数学方程

文本属性

文本属性

数据坐标中的文本旋转角度

数据坐标中的文本旋转角度

标题定位

标题定位

文本水印

文本水印

刻度之间居中标签

刻度之间居中标签

使用 ConciseDateFormatter 格式化日期刻度

使用 ConciseDateFormatter 格式化日期刻度

日期演示转换

日期演示转换

时间序列的自定义刻度格式化程序

时间序列的自定义刻度格式化程序

日期精度和纪元

日期精度和纪元

美元刻度

美元刻度

SI 前缀偏移量和自然数量级顺序

SI 前缀偏移量和自然数量级顺序

主次刻度

主次刻度

多级(嵌套)刻度

多级(嵌套)刻度

在右侧设置默认 Y 轴刻度标签

在右侧设置默认 Y 轴刻度标签

从值列表设置刻度标签

从值列表设置刻度标签

将 X 轴刻度标签移到顶部

将 X 轴刻度标签移到顶部

旋转刻度标签

旋转刻度标签

埃文斯测试

埃文斯测试

CanvasAgg 演示

CanvasAgg 演示

嵌套 GridSpecs

嵌套 GridSpecs

简单图例01

简单图例01

简单图例02

简单图例02

带注释光标

带注释光标

按钮

按钮

复选按钮

复选按钮

光标

光标

多光标

多光标

矩形和椭圆选择器

矩形和椭圆选择器

滑块

滑块

将滑块捕捉到离散值

将滑块捕捉到离散值

跨度选择器

跨度选择器

文本框

文本框

fill_between(x1, y1, z1, x2, y2, z2)

fill_between(x1, y1, z1, x2, y2, z2)

plot(xs, ys, zs)

plot(xs, ys, zs)

fill_between(x, y1, y2)

fill_between(x, y1, y2)

plot(x, y)

plot(x, y)

tricontour(x, y, z)

tricontour(x, y, z)

tricontourf(x, y, z)

tricontourf(x, y, z)

tripcolor(x, y, z)

tripcolor(x, y, z)

Artist 教程

Artist 教程

使用 Matplotlib 制作动画

使用 Matplotlib 制作动画

使用 blitting 提高渲染速度

使用 blitting 提高渲染速度

使用 cycler 进行样式设置

使用 cycler 进行样式设置

路径教程

路径教程

变换教程

变换教程

在图中排列多个坐标轴

在图中排列多个坐标轴

自动缩放坐标轴

自动缩放坐标轴

坐标轴刻度

坐标轴刻度

坐标轴刻度

坐标轴刻度

绘制日期和字符串

绘制日期和字符串

约束布局指南

约束布局指南

图例指南

图例指南

紧凑布局指南

紧凑布局指南

指定颜色

指定颜色

快速入门指南

快速入门指南

注解

注解

Matplotlib 中的文本

Matplotlib 中的文本