matplotlib绘图(import matplotlib.pyplot as plt)
matplotlib简介
matplotlib 是一个 python 绘图库,其设计理念是能够用轻松简单的方式生 成强大的可视化效果,只需几行代码即可生成绘图,直方图,功率谱,条形 图,错误图,散点图等,是数据分析核心库之一。
matplotlib 中应用最广的 是 matplotlib.pyplot 模块。
下图就是matplotlib绘图的基本流程,我们对于matplotlib.pyplot模块的函数讲解基于此流程进行:
流程一
创建画布
函数 | 作用 |
---|---|
plt.figure(num=None, figsize=None, dpi=None) | (1)num:可以将该num:窗口的身份标识。如果不提供该参数,则创建窗口的时候该参数会自增,如果提供的话则该窗口会以该num为Id存在。(2)figsize:可选参数,英寸单位的宽和高的数组。默认值为 [6.4, 4.8](3)dpi:可选参数,整数。表示该窗口的分辨率,默认值为100。 |
创建子图
函数 | 作用 |
---|---|
fig,axes = subplots(nrows=1, ncols=1, sharex=False, sharey=False) | (1)创建一个画布 (2)nrows,ncols分别代表创建的子图的行数和列数,默认值为1 (3)sharex,sharey参数:bool 或{‘none’, ‘all’, ‘row’, ‘col’} (4)返回值fig为画布的身份标识,axes代表了子图 |
axes = fig.add_subplot( *args, **kwargs) | 此函数不能创建画布,使用前应先创建画布(fig代表画布变量),例:axes = fig.add_subplot(3,3,2)表示将画布分为3行3列的子图,选择第2个子图并返回该子图的身份标识 |
sharey与sharex的参数相同,以sharex为例:
sharex | 含义 |
---|---|
True或all | 代表所有子图共享x轴 |
row | 代表每行子图共享一个x轴 |
False或none | 每个子图的x轴都是独立的 |
col | 每列子图共享一个x轴 |
流程一完成,案例展示一下:
import matplotlib.pyplot as plt
#创建画布
fig = plt.figure(figsize = [5,4],dpi = 100)
print('fig画布的身份标识{}'.format(fig))
#使用add_subplot创建子图
axes = fig.add_subplot(3,3,5)
axes.set_title('number ten')
#使用subplots创建画布和子图
fig2,axes = plt.subplots(nrows = 2,ncols = 2)
axes[0,1].set_title('number two')
print('fig2画布的身份标识{}'.format(fig2))
plt.show()
效果图
流程二
大的框架我们已经准备好了,接下来就是给画布或者子图进行画图表,并添加细节。
首先是图表的标题,横纵轴的刻度,范围,名称等
函数 | 作用 |
---|---|
plt.title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs) | (1)label 是要设置的标题文本 (2)fontdict 可选参数,用于设置标题的字体属性,例如字体名称、大小、颜色等。(3)loc 参数用于指定标题的位置,可以使用字符串( ‘left’、‘center’、‘right’等)或数字表示。(4)pad 参数用于指定标题与图形边界之间的距离。 |
plt.xlabel(xlabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)和plt.ylabel | (1)xlabel:x轴的名称 (2)fontdict 可选参数,用于设置x轴名称的字体属性 (3)x轴名称与图形边界之间的距离 (4)loc 参数用于指定标题的位置 |
plt.xlim(*args, **kwargs)和plt.ylim | 显示或设置x轴的范围,若不填参数,函数返回x轴的左右范围。填参数表示设置x轴的表示范围。例plt.xlim(-1,2),plt.xlim(left = -1),plt.xlim(right = 2) |
plt.xticks(ticks=None, labels=None, *, minor=False, **kwargs)和plt.yticks | (1)ticks:x轴刻度位置的列表 (2)labels:放在指定刻度位置的标签文本。当ticks参数有输入值,该参数才能传入参数 (3)minor:默认值就是按照ticks给定列表进行显示刻度,为True时ticks将不起效果,刻度由系统选择 |
plt.legend(title,loc,frameon) | (1)title:图例的标题 (2)loc:图例在 |