matplotlib.pyplot.plot #

matplotlib.pyplot。plot ( * args , scalex = True , scaley = True , data = None , ** kwargs ) [source] #

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

来电签名:

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

点或线节点的坐标由x , y给出。

可选参数fmt是定义基本格式(如颜色、标记和线型)的便捷方式。这是下面注释部分中描述的快捷字符串表示法。

>>> 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冲突时,关键字参数优先。

绘制标记数据

有一种方便的方法可以用标记数据(即可以通过 index 访问的数据obj['y'])绘制对象。除了在xy中提供数据之外,您还可以在data参数中提供对象 并只提供xy的标签:

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

支持所有可索引对象。例如,这可以是 a dict、 a pandas.DataFrame或结构化的 numpy 数组。

绘制多组数据

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

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

    >>> plot(x1, y1, 'bo')
    >>> plot(x2, y2, 'go')
    
  • 如果x和/或y是二维数组,将为每一列绘制一个单独的数据集。如果xy都是二维的,则它们必须具有相同的形状。如果其中只有一个是形状为 (N, m) 的 2D,则另一个必须具有长度 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和 line 属性参数。或者,您也可以使用 rcParams["axes.prop_cycle"](默认值:)更改样式循环。cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])

参数
x, y类数组或标量

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

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

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

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

fmt str,可选

格式字符串,例如红色圆圈的“ro”。有关格式字符串的完整说明,请参阅注释 部分。

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

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

数据可索引对象,可选

带有标签数据的对象。如果给定,请提供要在xy中绘制的标签名称。

笔记

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

返回
清单Line2D

表示绘制数据的线列表。

其他参数
scalex, scaley bool, 默认值: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

标量或无

animated

布尔

antialiased或aa

布尔

clip_box

Bbox

clip_on

布尔

clip_path

补丁或(路径,变换)或无

color或 c

颜色

dash_capstyle

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

dash_joinstyle

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

dashes

浮动序列(以点为单位的开/关墨水)或(无,无)

data

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

drawstyle或 ds

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

figure

Figure

fillstyle

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

gapcolor

颜色或无

gid

字符串

in_layout

布尔

label

目的

linestyle或 ls

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

linewidth或 lw

漂浮

marker

标记样式字符串,PathMarkerStyle

markeredgecolor或机械

颜色

markeredgewidth或者喵喵

漂浮

markerfacecolor或 mfc

颜色

markerfacecoloralt或 mfcalt

颜色

markersize或毫秒

漂浮

markevery

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

mouseover

布尔

path_effects

AbstractPathEffect

picker

浮动或可调用[[艺术家,事件],元组[布尔,字典]]

pickradius

未知

rasterized

布尔

sketch_params

(比例:浮动,长度:浮动,随机性:浮动)

snap

布尔或无

solid_capstyle

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

solid_joinstyle

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

transform

未知

url

字符串

visible

布尔

xdata

一维数组

ydata

一维数组

zorder

漂浮

也可以看看

scatter

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

笔记

格式化字符串

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

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

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

[color][marker][line]也支持其他组合,但请注意,它们的解析可能不明确。

标记

特点

描述

'.'

点标记

','

像素标记

'o'

圆圈标记

'v'

triangle_down 标记

'^'

triangle_up 标记

'<'

triangle_left 标记

'>'

triangle_right 标记

'1'

tri_down 标记

'2'

tri_up 标记

'3'

三左标记

'4'

tri_right 标记

'8'

八角形标记

's'

方形标记

'p'

五边形标记

'P'

加(填充)标记

'*'

星标

'h'

hexagon1 标记

'H'

hexagon2 标记

'+'

加号标记

'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

颜色

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

特点

颜色

'b'

蓝色的

'g'

绿色

'r'

红色的

'c'

青色

'm'

品红

'y'

黄色

'k'

黑色的

'w'

白色的

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

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

使用#的示例matplotlib.pyplot.plot

绘制掩码值和 NaN 值

绘制掩码值和 NaN 值

绘制掩码值和 NaN 值
散射蒙面

散射蒙面

散射蒙面
楼梯演示

楼梯演示

楼梯演示
步骤演示

步骤演示

步骤演示
自定义 Figure 子类

自定义 Figure 子类

自定义 Figure 子类
在 pyplot 中管理多个图形

在 pyplot 中管理多个图形

在 pyplot 中管理多个图形
共享轴

共享轴

共享轴
多个子图

多个子图

多个子图
使用字典控制文本和标签的样式

使用字典控制文本和标签的样式

使用字典控制文本和标签的样式
标题定位

标题定位

标题定位
无限线

无限线

无限线
plot() 格式字符串

plot() 格式字符串

plot() 格式字符串
Pyplot 数学文本

Pyplot 数学文本

Pyplot 数学文本
Pyplot 简单

Pyplot 简单

Pyplot 简单
情节三

情节三

情节三
Pyplot 两个子图

Pyplot 两个子图

Pyplot 两个子图
海豚

海豚

海豚
日光照射样式表

日光照射样式表

日光照射样式表
帧抓取

帧抓取

帧抓取
坐标报告

坐标报告

坐标报告
自定义 Rc

自定义 Rc

自定义 Rc
Findobj 演示

Findobj 演示

Findobj 演示
多页 PDF

多页 PDF

多页 PDF
打印标准输出

打印标准输出

打印标准输出
设置和获取属性

设置和获取属性

设置和获取属性
transforms.offset_copy

transforms.offset_copy

transforms.offset_copy
佐德演示

佐德演示

佐德演示
自定义比例

自定义比例

自定义比例
使用重复规则放置日期刻度

使用重复规则放置日期刻度

使用重复规则放置日期刻度
旋转自定义刻度标签

旋转自定义刻度标签

旋转自定义刻度标签
工具经理

工具经理

工具经理
Pyplot 教程

Pyplot 教程

Pyplot 教程
使用样式表和 rcParams 自定义 Matplotlib

使用样式表和 rcParams 自定义 Matplotlib

使用样式表和 rcParams 自定义 Matplotlib
快速入门指南

快速入门指南

快速入门指南
路径效果指南

路径效果指南

路径效果指南