分类目录:《系统学习Python》总目录


matplotlib.pyplot是Matplotlib的基于状态的接口。它提供了一种隐式的、类似MATLAB的绘图方式。它还会在您的屏幕上打开图形,并充当图形GUI管理器。

语法
matplotlib.pyplot.plot(*args, scalex=True, scaley=True , data=None, ** kwargs)
函数定义
matplotlib.pyplot.plot([x], y, [fmt], *, data=None, **kwargs)
matplotlib.pyplot.plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

其中,可选参数fmt是定义基本格式(如:颜色、标记和线型)的便捷方式。

绘制多组数据

若需要绘制多组数据,有如下三种方法:

  1. 多次调用matplotlib.pyplot.plot
matplotlib.pyplot.plot(x1, y1, 'bo')
matplotlib.pyplot.plot(x2, y2, 'go')
  1. 传入二维数组
    如果xy是二维数组,将为每一列绘制一个单独的数据集。如果xy都是二维的,则它们必须具有相同的形状。如果其中只有一个是形状为 (N, m) ,则另一个必须具有长度N并将用于每个数据集m
x = [1, 2, 3]
y = numpy.array([[1, 2], [3, 4], [5, 6]])
matplotlib.pyplot.plot(x, y)

相当于:

for col in range(y.shape[1]):
    matplotlib.pyplot.plot(x, y[:, col])
  1. 指定多组[x]y[fmt]
matplotlib.pyplot.plot(x1, y1, 'g^', x2, y2, 'g-')

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

默认情况下,每行都分配有由“样式循环”指定的不同样式。仅当您希望显式偏离这些默认值时,才需要fmtline属性参数。或者,您也可以使用rcParams["axes.prop_cycle"]更改样式循环。

参数
  • x, y:类数组或标量。数据点的水平/垂直坐标。 x值是可选的,默认为range(len(y))。通常,这些参数是一维数组。它们也可以是标量或二维的,在这种情况下,列表示单独的数据集。
  • fmtstr,可选。格式字符串只是快速设置基本行属性的缩写。所有这些以及更多也可以通过关键字参数来控制,但此参数不能作为关键字传递。
  • scalex, scaleybool, 默认为True,这些参数确定视图限制是否适应数据限制。值被传递给autoscale_view
  • data:数据可索引对象,可选。带有标签数据的对象。如果给定,请提供要在xy中绘制的标签名称。
  • **kwargsLine2D属性,可选。kwargs用于指定线标签、线宽、抗锯齿、标记面颜色等属性。
返回值

Line2D清单,表示绘制数据的线列表。

格式化字符串fmt

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

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

薄钻石标记

|

线标记

_

线标记

线型

特点

描述

-

实线样式

--

虚线样式

-.

点划线样式

:

虚线样式

颜色

特点

描述

b

蓝色

g

绿色

r

红色

c

青色

m

品红

y

黄色

k

黑色

w

白色

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

实例

import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.show()

输出:

python中plot函数 python plt.plot函数_pyplot