数据可视化是数据分析中最重要的工作之一,matplotlib是一个用于Python语言中绘制2D图形的第三方库,能将图片导出为各种常见的矢量和光栅图,帮助我们找出异常值、必要的数据转换、得出有关模型的idea等。随着时间的发展,基于matplotlib作为底层,衍生出了多个数据可视化的工具集,比如seaborn。
matplotlib的通常引入约定是:
import matplotlib.pyplot as plt
pylab与pyplot:官方声明不推荐使用pylab,会造成命名空间污染,请改用pyplot。
图像、子图
默认情况下是在图像中创建一个子图,如果想在图像中创建多个子图,则可以使用下面三种方式:
- fig,ax = plt.subplots(nrows ,ncols)
- plt.subplot(nrows,ncols,plot_numbe)
- import matplotlib.gridspec as gridspec
- gs = gridspec.GridSpec(3,3)
- ax1 = plt.subplot(gs[0,1])
- ax1.bar()
- plt.show()
中文显示
全局显示:可让坐标轴的内容显示中文。在最前面指定中文字体的样式,在使用时在中文字符串前面加u,比如plt.title(u'我是中文' , fontsize=15) 。
plt.rcParams['font.family']='SimHei' #黑体
plt.rcParams['axes.unicode_minus'] = False #让负号可以正常显示
局部显示:无法让坐标轴的内容显示中文。使用时添加fontproperties = 'SimHei'作为参数,比如plt.title('我是中文',fontproperties = 'SimHei',fontsize = 20) 。
基础绘图函数
- plt.plot(x,y,fmt,…) 绘制一个坐标图
- plt.boxplot(data,notch,position) 绘制一个箱形图
- plt.bar(left,height,width,bottom) 绘制一个条形图
- plt.barh(width,bottom,left,height) 绘制一个横向条形图
- 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,NFFT=256,Fs) 绘制X‐Y的相关性函数
- plt.scatter(x,y) 绘制散点图,其中,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) 绘制柴火图
- plt.plot_date() 绘制数据日期
使用教程参考:
https://matplotlib.org/tutorials/index.html
https://mp.weixin.qq.com/s?__biz=MzUzODYwMDAzNA==&mid=2247484010&idx=1&sn=a82ef4c981b8ee47085661f09adee8a1&chksm=fad47567cda3fc715efff20f58ce20de90208f1f03f49e2c1df60c8af46171e88dc95936f889#rd