Matplotlib 参数及元素

linestyle或ls 线条风格

参数
描述

'-'

实线

':'

虚线

'–'

破折线

'None',''

什么都不画

'-.'

点划线

masker 标记形状

参数
描述

'o'

圆圈

'.'

'D'

菱形

's'

正方形

'h'

六边形1

'*'

星号

'H'

六边形2

'd'

小菱形

'_'

水平线

'v'

一角朝下的三角形

'8'

八边形

'<'

一角朝左的三角形

'p'

五边形

'>'

一角朝右的三角形

','

像素

'^'

一角朝上的三角形

'+'

加号

''

竖线

'None',''

'x’

X

color或c 颜色

参数
颜色

'b'

蓝色

'g'

绿色

'r'

红色

'y'

黄色

'c'

青色

'k'

黑色

'm'

洋红色

'w'

白色

标题和x/y轴的标签

通过plt.title()或者ax.set_title()函数可以设置相应图标的标题。

通过plt.xlabel()/plt.ylabel()或者ax.set_xlabel()/ax.set_ylabel()可以设置对应坐标轴的标签。

注意:ax用来指代axes对象

grid() 网格显示

参数说明:

  • b:设置是否打开网格

  • color:设置网格颜色

  • linestyle:设置网格线型

  • linewidth:设置网格线宽

legend() 图例显示

参数说明:

  • handles:添加到图例中的绘图对象(可省略)

  • labels:对应于handles对象顺序的label,可省略(此时需要在画图时通过label参数指定每个图形对象的名称)

  • ncol:图例的列数,可以通过该参数使得图例分列显示

  • loc:图例设置的位置

location string
location code

'best'

0

'upper right'

1

'upper left'

2

'lower left'

3

'lower right'

4

'right'

5

'center left'

6

'cevter right'

7

'lower center'

8

'upper center'

9

'center'

10

坐标轴

通过plt.axis([xmin,xmax,ymin,ymax])可以设置坐标轴的范围,其中xmin,xmax,ymin,ymax分别表示x轴左边界,x轴右边界,y轴下边界,y轴上边界。

通过plt.xlim(xmin,xmax)和plt.ylim(ymin,ymax)方法可以分别调整x轴和y轴的范围,使用该函数时可以传参[minval,maxval]来同时设置某轴的最小值和最大值,也可以分别通过xmin,xmax,ymin,ymax来单独设置某个轴的某个边界值。

locator_params() 坐标轴刻度的调整

通过locator_params()方法来调整坐标轴的刻度间距,该函数的声明为:

参数说明:

  • axis:用来选择要调整的坐标轴,该参数有三个值'both','x','y'

  • nbins:坐标轴划分的等份数

注释的添加

通过使用annotate()方法可以往图形上添加带箭头的注释,该函数的声明为:

参数说明:

  • s:注释字符串

  • xy:要注释的点

  • xytext:放置注释字符串的位置

  • arrowprops:设置在位置xy和xytext之间绘制的箭头的属性,参数类型为字典,其中常用的参数包括

参数
含义

width

箭身的宽度

headwidth

箭头的宽度

facecolor

箭头的颜色

通过使用text()方法可以往图形上只添加文字注释,该函数的声明为:

参数说明:

  • x,y:文字注释内容的x坐标和y坐标

  • s:文字注释的内容

  • fontfamily:文字字体类型,常用的包括'serif','sans-serif','cursive','fantasy','monospace'

  • fontstyle:字体样式,常用的包括'normal','italic','oblique'

  • fontsize/size:字体大小,可以采用数字

  • fontweight/weight:设置字体的粗细,可以使用0~1000范围内的数字来设置,数字越大字体越粗

注意:上述函数可以输出数学公式,使用方式和输出文本的用法一致,只需要设置s = r"mathexperssion"即可,其中mathexpression是包含在$$之间的字符串(常用的数学符号编写)。

多图显示

通过plt.subplot()方法可以将figure划分为多个子图,但每条subplot命令只会创建一个子图,该函数的常用使用形式为:

参数说明:

  • nrows:figure划分的行数

  • ncols:figure划分的列数

  • index:图案nrows行ncols列划分的块再按从左往右,从上往下的顺序排列的当前图的索引

通过plt.subplots()方法可以创建一个figure和一批子图,返回的形式为(figure, subplots),该方法的常用形式为:

参数说明:

  • nrows:figure划分的行数

  • ncols:figure划分的列数

在使用该方式时,我们可以通过二维索引来获取子图,例如axes[1,1]表示获取到的是第2行第2列的子图对象,然后利用该子图对象我们可以调用画图函数来进行图形绘制,当然也可以通过for循环来获取子图对象。

面向对象的方式

对于面向对象的方式,首先需要新建一个figure对象,然后可以利用add_subplot()函数新建坐标轴对象(该函数的参数和plt.subplot()类似),再调用该函数即可进行绘图,示例代码如下:

图片显示

matplotlib也可以用来展示图片,而且它可以向展示上述的绘制图形一样同时展示多张图片,通过plt.imshow(X)可以用来显示图片,其中X可以是通过PLI.Image.open()或cv2.imread()或matplotlib.image.imread()打开的图形数据,示例代码如下:

最后更新于

这有帮助吗?