matplotlib.pyplot.plot#
- matplotlib.pyplot.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)
点的坐标或线节点的坐标由 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 冲突时,关键字参数优先。
绘制带标签的数据
有一种方便的方法可以绘制带有标签数据的对象(即可以通过索引
obj['y']
访问的数据)。您可以在 data 参数中提供对象,而只需提供 x 和 y 的标签:>>> plot('xlabel', 'ylabel', data=obj)
所有可索引的对象都受支持。例如,这可以是
dict
、pandas.DataFrame
或结构化的 numpy 数组。绘制多组数据
有多种方法可以绘制多组数据。
最直接的方法就是多次调用
plot
。例如:>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
如果 x 和/或 y 是二维数组,将为每一列绘制一个单独的数据集。如果 x 和 y 都是二维的,它们必须具有相同的形状。如果其中一个是二维的,形状为 (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"]
(default:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
) 来更改样式循环。- 参数:
- x, y类数组或标量
数据点的水平/垂直坐标。x 值是可选的,默认为
range(len(y))
。通常,这些参数是一维数组。
它们也可以是标量,或者是二维的(在这种情况下,列代表不同的数据集)。
这些参数不能作为关键词传递。
- fmtstr, 可选
格式字符串,例如 'ro' 表示红色圆圈。有关格式字符串的完整描述,请参见 注释 部分。
格式字符串只是快速设置基本行属性的缩写。所有这些以及更多内容也可以通过关键字参数来控制。
此参数不能作为关键字传递。
- 数据可索引对象,可选
带有标签数据的对象。如果提供,请提供要在 x 和 y 中绘制的标签名称。
备注
从技术上讲,在调用中存在轻微的歧义,其中第二个标签是一个有效的 fmt。
plot('n', 'o', data=obj)
可以是plt(x, y)
或plt(y, fmt)
。在这种情况下,选择前者的解释,但会发出警告。您可以通过添加一个空的格式字符串plot('n', 'o', '', data=obj)
来抑制警告。
- 返回:
Line2D
的列表表示绘制数据的行列表。
- 其他参数:
- scalex, scaleybool, 默认: True
这些参数决定视图限制是否适应数据限制。这些值传递给
autoscale_view
。- **kwargs :
Line2D
属性, 可选Line2D 属性,可选 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
属性列表:属性
描述
一个过滤函数,它接收一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
标量或无
布尔值
抗锯齿
或 aa布尔值
BboxBase
或 None布尔值
补丁或(路径,变换)或无
颜色
或 cCapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}浮点数序列(开/关墨水以点为单位)或 (None, None)
(2, N) 数组或两个一维数组
drawstyle
或 ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, 默认: 'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
color or None
str
布尔值
对象
linestyle
或 ls{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}
linewidth
或 lw浮动
标记样式字符串,
Path
或MarkerStyle
markeredgecolor
或 mecmarkeredgewidth
或 mew浮动
markerfacecolor
或 mfcmarkerfacecoloralt
或 mfcaltmarkersize
或 ms浮动
None 或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]
布尔值
浮点数或可调用对象[[Artist, Event], 元组[布尔值, 字典]]
浮动
布尔值
(scale: float, length: float, randomness: float)
布尔值或无
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}未知
str
布尔值
一维数组
一维数组
浮动
参见
散点图
带有不同大小和/或颜色的标记的XY散点图(有时也称为气泡图)。
注释
备注
这是
axes.Axes.plot
的 pyplot 包装器。格式字符串
格式字符串由颜色、标记和线条部分组成:
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'
tri_left 标记
'4'
tri_right 标记
'8'
八角形标记
's'
方形标记
'p'
五边形标记
'P'
加号(填充)标记
'*'
星号标记
'h'
六边形1 标记
'H'
六边形2 标记
'+'
加号标记
'x'
x 标记
'X'
x (填充) 标记
'D'
钻石标记
'd'
thin_diamond 标记
'|'
vline 标记
'_'
hline 标记
线条样式
角色
描述
'-'
实线样式
'--'
虚线样式
'-.'
虚线样式
':'
虚线样式
示例格式字符串:
'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'
)。