plot(pyplot)

471 阅读2分钟

matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)

plot([x], y, [fmt], *, data=None, **kwargs)

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

#方括号代表可选参数,星号表示强制后面的参数使用显示的关键字参数。

坐标值的给出

不能通过关键字参数传递,也就是不能写成:x=[1,2,3,4]。。。

依靠前面的[x]和y给出,x和y可以是数组,可以是标量,可以是依靠名称索引的对象,比如字典,pandas数组或者nunpy数组。x是可选参数,如果不给出x,那么会默认x与y的长度一样,步长一样,但是x会从0开始计数。

Plot(x,y)#显式给出x和y

Plot(y)#不给出x的值,x将会是0-len(y)

Plot(‘xlable’,’ylable’,data=obj)#依靠名称索引x和y的值,其中x=obj[‘xlablle’],y=obj[‘ylable’]

obj是关键字参数

多个图的坐标轴的给出

Plot[x1,y1,x2,y2]#显式给出两套坐标

Plot[a[0],a[1:]]#多套坐标,但是x轴都是a[0],这个时候需要在前面指定这个图为2D图

线条属性

分成两种方式:

(1)非关键字参数,而且禁止以关键字参数传递。这个也是plot自带的方式,参数是字符串。示例:

Plot(x,y,’bo’)#bo就是线条的属性参数。

字符串包含颜色,点标记方式,线条,’[marker][line][color]’/’ [color][marker][line]’,都是可选的。如果没有给出,会使用默认的格式(代码事先设定或者在matplotlibrc文件里面设定)。各个参数可能会混淆。

(2)关键字参数方式,也是2D图像的属性,但是可以在plot里面传递。示例:

plot(x, y, color='green', marker='o', linestyle='dashed',linewidth=2, markersize=12)

由于关键字参数是2D图的自带参数,因此比非关键字参数丰富很多。而且关键字参数的优先级比非关键字参数的优先级高。

因为有时候data参数也是关键字参数,因此不使用fmt且在报警告的时候可以用单引号代替fmt。实例:

plot('n', 'o', '', data=obj)#使用''代替[fmt],减少报错。

Scale参数

在设置坐标轴区域属性的时候可能设置了坐标轴的显示范围。这个参数可以决定显示是否根据数据的范围进行调整。默认是True。实例:

fig=plt.figure()

ax=fig.gca()

ax.plot([1,2,3],[0.5,1,3],scaley=False)

Out[6]: [<matplotlib.lines.Line2D at 0x174aad48d60>]


可以看到x轴自动调整了显示的范围,但是y轴没有自动调整。如果在代码的后面加上ax.set-xlim(),可以发现x轴的显示范围设置会被覆盖。