分类目录:《系统学习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
是定义基本格式(如:颜色、标记和线型)的便捷方式。
绘制多组数据
若需要绘制多组数据,有如下三种方法:
多次调用matplotlib.pyplot.plot
matplotlib.pyplot.plot(x1, y1, 'bo')
matplotlib.pyplot.plot(x2, y2, 'go')
传入二维数组
如果x
或y
是二维数组,将为每一列绘制一个单独的数据集。如果x
和y
都是二维的,则它们必须具有相同的形状。如果其中只有一个是形状为 (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])
指定多组[x]
、y
、[fmt]
:
matplotlib.pyplot.plot(x1, y1, 'g^', x2, y2, 'g-')
在这种情况下,任何附加的关键字参数都适用于所有数据集。此外,此语法不能与data
参数结合使用。
默认情况下,每行都分配有由“样式循环”指定的不同样式。仅当您希望显式偏离这些默认值时,才需要fmt
和line
属性参数。或者,您也可以使用rcParams["axes.prop_cycle"]
更改样式循环。
参数
x
,y
:类数组或标量。数据点的水平/垂直坐标。x
值是可选的,默认为range(len(y))
。通常,这些参数是一维数组。它们也可以是标量或二维的,在这种情况下,列表示单独的数据集。fmt
:str
,可选。格式字符串只是快速设置基本行属性的缩写。所有这些以及更多也可以通过关键字参数来控制,但此参数不能作为关键字传递。scalex
,scaley
:bool
, 默认为True
,这些参数确定视图限制是否适应数据限制。值被传递给autoscale_view
。data
:数据可索引对象,可选。带有标签数据的对象。如果给定,请提供要在x
和y
中绘制的标签名称。**kwargs
:Line2D
属性,可选。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()
输出: