一、matplotlib的介绍
1、matplotlib是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制。
2、pyplot子库的引用方式如下:
import matplotlib.pyplot as plt
3、为了正确显示中文字体,请用一下代码更改默认设置,其中“SimHei”表示黑体字
>>>import matplotlib
>>>matplotlib.rcParams['font.family']='SimHei'
>>>matplotlib.rcParams['font.sans-serif']=['SimHei']
二、matplotlib.pyplot库解析
1、plt子库提供了一批操作和绘图函数,每个函数代表对图像进行的一个操作,比如创建绘图区域、添加标注或者修改坐标轴等。
2、这些函数采用plt.<b>()形式调用,其中<b>是具体函数名称
3、plt库的绘图区域函数
函数 | 说明 |
plt.figure(figsize=None,facecolor=None) | 创建一个全局绘图区域,figsize参数可以指定绘图区域的宽度和高度 |
plt.axes(rect,axisbg='w') | 创建一个坐标系风格的子绘图区域,参数表示将全局绘图区域分成nrows行和ncols列,并根据先行后列的计数方式在plot_number位置上生成一个坐标系 |
plt.subplot(nrows,ncols,plot_number) | 在全局绘图区域中创建一个子绘图区域 |
plt.subplots_adjust() | 调整子图区域的布局 |
注意:axes()默认创建一个subplot(111)坐标系,参数rec=[left,bottom,width,height]中四个变量的范围都为[0,1],表示坐标系与全局绘图区域的关系;axisbg指背景色,默认为white
4、plt库的读取和显示函数
函数 | 说明 |
plt.legend() | 在绘图区域中方式绘图标签(也称图注) |
plt.show() | 显示创建的绘图对象 |
plt.matshow() | 在窗口显示数组矩阵 |
plt.imshow() | 在axes上显示图像 |
plt.imsave() | 保存数组为图像文件 |
plt.imread() | 从图像文件中读取数组 |
5、plt库的基础表函数
操作 | 说明 |
plt.plot(x,y,lable,color,width) | 根据x,y数组绘制直/曲线,x和y可以是numpy计算出的数组,label表示设置标签并在图例中显示,color表示曲线的颜色,width表示曲线的宽度 |
plt.boxplot(data,notch,position) | 绘制一个箱型图(Box-plot) |
plt.bar(left,height,width,bottom) | 绘制一个条形图 |
plt.barh(bottom,width,height,left) | 绘制一个横向条形图 |
plt.polar(theta,r) | 绘制极坐标图 |
plt.pie(data,explode) | 绘制饼图 |
plt.psd(x,NFFT=256,pad_to,Fs) | 绘制功率谱密度图 |
plt.specgram(x,NFFT=256,pad_to,F) | 绘制谱图 |
plt.cohere(x,y,NEET=256,Fs) | 绘制X-Y的相关性函数 |
plt.scatter() | 绘制散点图(x,y是长度相同的序列) |
plt.step(x,y,where) | 绘制步阶图 |
plt.hist(x,bins,normed) | 绘制直方图 |
plt.contour(X,Y,Z,N) | 绘制等值线 |
plt.vlines() | 绘制垂直线 |
plt.stem(x,y,linefmt,markerfmt,basefmt) | 绘制曲线每个点到水平轴线的垂线 |
plt.plot_data() | 绘制数据日期 |
plt.plotfile() | 绘制数据后写入文件 |
例如:绘制一个简单图形
a、当plt.plot()中输入参数只有一个列表或数组时,此参数会被当做y轴处理,x轴是此列表的索引(自动生成)
b、当plt.plot()有两个以上参数时,分别对应x轴和y轴绘制图像,可使用axis()函数设置横纵坐标尺度的函数(设置X,Y坐标的起点和终点)