數(shù)據(jù)可視化是數(shù)據(jù)分析中最重要的工作之一,matplotlib是一個用于Python語言中繪制2D圖形的第三方庫,能將圖片導出為各種常見的矢量和光柵圖,幫助我們找出異常值、必要的數(shù)據(jù)轉換婴氮、得出有關模型的idea等。隨著時間的發(fā)展盾致,基于matplotlib作為底層主经,衍生出了多個數(shù)據(jù)可視化的工具集,比如seaborn庭惜。
matplotlib的通常引入約定是:
import matplotlib.pyplot as plt
pylab與pyplot:官方聲明不推薦使用pylab罩驻,會造成命名空間污染,請改用pyplot护赊。
圖像惠遏、子圖
默認情況下是在圖像中創(chuàng)建一個子圖,如果想在圖像中創(chuàng)建多個子圖骏啰,則可以使用下面三種方式:
- 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()
中文顯示
全局顯示:可讓坐標軸的內(nèi)容顯示中文节吮。在最前面指定中文字體的樣式,在使用時在中文字符串前面加u判耕,比如plt.title(u'我是中文' , fontsize=15) 透绩。
plt.rcParams['font.family']='SimHei' #黑體
plt.rcParams['axes.unicode_minus'] = False #讓負號可以正常顯示
局部顯示:無法讓坐標軸的內(nèi)容顯示中文。使用時添加fontproperties = 'SimHei'作為參數(shù),比如plt.title('我是中文'渺贤,fontproperties = 'SimHei'雏胃,fontsize = 20) 请毛。
基礎繪圖函數(shù)
- 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的相關性函數(shù)
- 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() 繪制數(shù)據(jù)日期
使用教程參考:
https://matplotlib.org/tutorials/index.html
https://mp.weixin.qq.com/s?__biz=MzUzODYwMDAzNA==&mid=2247484010&idx=1&sn=a82ef4c981b8ee47085661f09adee8a1&chksm=fad47567cda3fc715efff20f58ce20de90208f1f03f49e2c1df60c8af46171e88dc95936f889#rd