本文简要介绍 python 语言中 matplotlib.pyplot.plot
的用法。
-
将 y 与 x 绘制为线条和/或标记。
调用签名:
plot([x], y, [fmt], *, data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
点或线节点的坐标由
x
、y
给出。可选参数
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']
访问的数据)。除了在x
和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) 的 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
参数组合。
默认情况下,每行都分配有由'style cycle' 指定的不同样式。这
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' 用于红色圆圈。有关格式字符串的完整说明,请参阅
Notes
部分。格式字符串只是快速设置基本行属性的缩写。所有这些以及更多也可以通过关键字参数来控制。
此参数不能作为关键字传递。
- data 可索引对象,可选
-
带有标签数据的对象。如果给定,请提供要在
x
和y
中绘制的标签名称。注意从技术上讲,在第二个标签是有效的
fmt
的调用中存在轻微的歧义。plot('n', 'o', data=obj)
可以是plt(x, y)
或plt(y, fmt)
。在这种情况下,会选择前一种解释,但会发出警告。您可以通过添加空格式字符串plot('n', 'o', '', data=obj)
来抑制警告。
- 返回:
-
Line2D
列表 -
表示绘制数据的线列表。
-
- 其他参数:
- scalex, scaley 布尔值,默认值:真
-
这些参数确定视图限制是否适应数据限制。这些值被传递给
autoscale_view
。 - **kwargs
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) 数组和距图像左下角的两个偏移量
标量或无
bool
antialiased
或 aabool
BboxBase
或无bool
补丁或(路径,变换)或无
color
或 ccolor
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}浮点数序列(以点为单位的开/关墨水)或(无,无)
(2, N) 数组或两个一维数组
drawstyle
或 ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'},默认:'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
颜色或无
str
bool
object
linestyle
或 ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
或 lwfloat
标记样式字符串,
Path
或MarkerStyle
markeredgecolor
或机械color
markeredgewidth
或喵喵float
markerfacecolor
或 mfccolor
markerfacecoloralt
或 mfcaltcolor
markersize
或毫秒float
None 或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]
bool
浮点数或可调用[[艺术家,事件],元组[布尔,字典]]
float
bool
(比例:浮点数,长度:浮点数,随机性:浮点数)
布尔或无
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}unknown
str
bool
一维数组
一维数组
float
注意
格式化字符串
格式字符串由颜色、标记和线条部分组成:
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'
hexagon1 标记
'H'
hexagon2 标记
'+'
加号标记
'x'
x 标记
'X'
x(填充)标记
'D'
钻石标记
'd'
thin_diamond 标记
'|'
线标记
'_'
线标记
线型
字符
说明
'-'
实线样式
'--'
虚线样式
'-.'
dash-dot线型
':'
虚线样式
示例格式字符串:
'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'
blue
'g'
green
'r'
red
'c'
cyan
'm'
magenta
'y'
yellow
'k'
black
'w'
white
以及索引到默认属性周期的
'CN'
颜色。如果颜色是格式字符串的唯一部分,您还可以使用任何
matplotlib.colors
规范,例如全名 ('green'
) 或十六进制字符串 ('#008000'
)。 -
用法
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
相关用法
- Python matplotlib pts_to_midstep用法及代码示例
- Python matplotlib pts_to_poststep用法及代码示例
- Python matplotlib pts_to_prestep用法及代码示例
- Python matplotlib axvspan用法及代码示例
- Python matplotlib Axes.get_legend_handles_labels用法及代码示例
- Python matplotlib AbstractMovieWriter用法及代码示例
- Python matplotlib triplot用法及代码示例
- Python matplotlib StarPolygonCollection.set_hatch用法及代码示例
- Python matplotlib Axes.hist用法及代码示例
- Python matplotlib boxplot用法及代码示例
- Python matplotlib subplots用法及代码示例
- Python matplotlib InsetPosition用法及代码示例
- Python matplotlib ToolManager.toolmanager_disconnect用法及代码示例
- Python matplotlib Figure.set_size_inches用法及代码示例
- Python matplotlib figlegend用法及代码示例
- Python matplotlib Axes.step用法及代码示例
- Python matplotlib Axes.contour用法及代码示例
- Python matplotlib LassoSelector用法及代码示例
- Python matplotlib BrokenBarHCollection.set_hatch用法及代码示例
- Python matplotlib Axes.plot用法及代码示例
- Python matplotlib Axes.semilogx用法及代码示例
- Python matplotlib Axes.semilogy用法及代码示例
- Python matplotlib MovieWriterRegistry.register用法及代码示例
- Python matplotlib PolyQuadMesh.set_hatch用法及代码示例
- Python matplotlib warn_deprecated用法及代码示例
注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib.pyplot.plot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。