matplotlib數據可視化實例 matplotlib數據可視化基礎



文章插圖
matplotlib數據可視化實例 matplotlib數據可視化基礎

文章插圖
今天給大家介紹數據可視化領域的知識~
matplotlib是python中的繪圖工具庫,也是平面數據可視化領域應用最廣泛的繪圖工具之一,接下來我們就從常用函數的角度向大家介紹matplotlib的用法!
一、plot()函數1. 函數功能
展現變量的趨勢變化,通常用于繪制線圖 。
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.01,12,100)#生成100個從0.01到12的均勻數值y=np.cos(x)#余弦函數plt.plot(x,y,ls='-',color='r',lw=2,label='plotfigure')#設置繪圖屬性plt.legend()#讓代碼產生效果,如圖例的名稱plt.show()#顯示圖像參數說明:
x:x軸上的數字y:y軸上的數字ls:折線的風格color:線條的顏色lw: 折線線條的寬度label:標記圖形內容的標簽文本
常用的顏色簡寫:
3. 效果
二、scatter()函數1. 函數功能
尋找變量之間的關系,用于繪制散點圖 。
2.實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(2,9,500)#從2到9均勻取500個數y=np.random.randn(500)#在標準正態分布中隨機取500個數plt.scatter(x,y,s=10,c='g',label='scatterfigure')#x,y的數據規模必須要相同plt.legend()plt.show()參數說明:
s:散點的大小,默認為50c:散點的顏色,默認為藍色,這里設為g表示green綠色 。label:標記圖形內容的標簽文本3.效果
散點圖
三、xlim()函數1. 函數功能
【matplotlib數據可視化實例 matplotlib數據可視化基礎】設置x軸的顯示范圍
2.實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(2,9,500)y=np.random.randn(500)plt.scatter(x,y,c='g',s=10,label="scatterfigure")plt.legend()plt.xlim(0,10)plt.ylim(0,1)plt.show()參數說明:
對x軸操作plt.xlim(xmin,xmax),同理對y軸操作plt.ylim(ymin,ymax)
xmin:x軸上的刻度最小值xmax:x軸上的刻度最大值3.效果
x軸刻度范圍0~10
生成同樣的散點分布圖,如果把x軸刻度調成與生成范圍一致(2~9),我們就會發現散點均勻地分布滿了x軸范圍 。
x = np.linspace(2,9,500)y = np.random.randn(500)plt.scatter(x, y,c='g',s=10,label="scatter figure")plt.legend()plt.xlim(2,9)plt.ylim(0,1)plt.show()
x軸刻度2~9
四、xlabel()函數1. 函數功能
設置x軸標簽文本
2.實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,10,100)y=np.cos(x)plt.plot(x,y,ls='-.',lw=2,c='g',label='xlable')plt.legend()plt.xlabel('x-label')#設置x軸文本標簽plt.ylabel('y-label')#設置y軸文本標簽plt.show()參數說明:
設置坐標軸x軸文本標簽xlabel(string) 設置y軸文本標簽ylabel(string)
3.效果
設置坐標軸文本標簽
五、grid()函數1. 函數功能
繪制刻度線的網格線
2.實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,10,100)y=np.cos(x)plt.plot(x,y,ls='-',lw=2,c='r',label='gridfigure')plt.legend()plt.grid(linestyle=":",color='g')plt.show()參數說明:
linestyle: 網格線線條風格,:表示虛線,-表示實線3.效果
設置網格
六、axhline()函數1.函數功能
繪制平行于x軸的水平參考線
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,10,500)y=np.cos(x)plt.plot(x,y,ls='-',c='c',lw=2,label='axhlinefigure')plt.legend()plt.axhline(y=0.0,c='r',ls='--',lw=1)plt.axvline(x=2.0,c='g',ls='--',lw=1)plt.show()參數說明:
繪制水平參考線axhline(y=0.0,c=’r’,ls=’–‘,lw=’1’)
繪制垂直參考線axvline(x=2.0,c=’g’,ls=’–‘,lw=’1’)
y:水平參考線的y軸位置x::垂直參考線的x軸位置3. 效果
繪制參考線
七、axvspan函數1.函數功能
繪制垂直與x軸的參考區域
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,17,500)y=np.sin(x)plt.plot(x,y,ls='--',lw=2,c='c',label='axvspan figure')plt.legend()plt.axvspan(5,10,facecolor='b',alpha=0.2)plt.axhspan(0.0,0.5,facecolor='g',alpha=0.2)plt.show()參數說明:
繪制垂直與x軸的參考區域:plt.axvspan(xmin=5,xmax=10,facecolor=’b’,alpha=0.2)
xmin:參考區域的其實位置xmax:參考區域的終止位置facecolor:參考區域的填充顏色alpha:參考區域填充顏色的透明度3. 效果
繪制參考區域
八、annotate()函數1.函數功能
設置指向性注釋文本
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,10,100)y=np.cos(x)plt.plot(x,y,ls='-.',lw=2,c='c',label='annotatefigure')plt.legend()plt.annotate('minimum',#圖形注釋的文本xy=(np.pi,-1.0),#被注釋的圖形內容坐標xytext=(5,-0.75),#注釋文本位置坐標weight='bold',#注釋文本字體粗細color='r',#注釋文本字體顏色arrowprops=dict(arrowstyle='->',connectionstyle='arc3',color='r'))#箭頭的屬性plt.show()參數說明:
添加圖形內容細節指向性箭頭注釋plt.annotate(string,xy=(np.pi,-1.0),xytext=(5,-0.75),weight=’bold’,color=’r’,arrowprops=dict(arrowstyle=’->’,connectionstyle=’arc3′,color=”r))
string:注釋文本內容xy:被注釋的圖形位置坐標xytext:注釋的文本坐標weight:注釋的文本的粗細風格color:注釋文本的顏色arrowprops:注釋指向性箭頭的屬性,屬性值字典里包含了箭頭的類型、風格、顏色3. 效果
繪制帶箭頭指向的注釋
九、text()函數1.函數功能
添加無指向型注釋
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,5,100)y=np.tan(x)plt.plot(x,y,ls='-.',lw=1,c='g',label='textfigure')plt.legend()plt.text(2,0.5,'y=tan(x)',weight='bold',color='r')plt.show()參數說明:
在圖中添加注釋文本plt.text(x,y,string,weight=’bold’,color=’r’)
x:注釋位置的橫坐標y:注釋位置的縱坐標string:注釋的文本內容3. 效果
繪制無箭頭指向的注釋
十、title()函數1.函數功能
添加圖表標題
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,5,100)y=np.tan(x)plt.plot(x,y,ls='-.',lw=1,c='c',label='titlefigure')plt.legend()plt.title('y=tan(x)figure')plt.show()參數說明:
添加圖表標題:plt.title(string)
string:表示標題文本內容3. 效果
繪制標題
十一、legend()函數1.函數功能
顯示圖表圖例,并設置圖例位置
2. 實例代碼
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0.1,8,100)y=np.sin(x)z=np.cos(x)plt.plot(x,y,ls='-',lw=1,c='c',label='legendfigure1')plt.plot(x,z,ls='-.',lw=1,c='r',label='legendfigure2')plt.legend(loc='lowerleft')plt.show()參數說明:
標識圖例plt.legend(loc=’lower left’)
loc:圖例在圖表中的位置,值可以設置方位字符串,也可以設置方位置編號 。
位置字符串 含義
3. 效果
繪制圖例及定位
十二、本節知識點總結
本節知識點總結
十三、綜合練習
1. 題目
根據我們本節所介紹的matplotlib知識點,請繪制出以下函數圖像:
題圖
2. 答案
小伙伴們可以根據前面所學的內容,自己動手先敲一下代碼,看能不能做出來~
#matplotlib綜合案例:importmatplotlib.pyplotaspltimportnumpyasnp#plot線圖x=np.linspace(0.5,3.5,200)y1=np.sin(x)plt.plot(x,y1,ls='--',lw=2,c='k',label='plotfigure')#plot散點圖y2=np.random.randn(200)plt.scatter(x,y2,s=5,c='m',label='scatterfigure')#設置橫縱坐標軸范圍plt.xlim(0.0,4.0)plt.ylim(-3,3)#設置高亮范圍顯示plt.axvspan(xmin=1.0,xmax=2.0,facecolor='g',alpha=0.3)#設置網格子plt.grid(linestyle=':',color='g')#設置箭頭注釋plt.annotate("maximum",xy=(np.pi/2,1),xytext=(2.5,1.5),weight='bold',color='r',arrowprops=dict(arrowstyle='->',connectionstyle='arc3',color='r'))#繪制豎線plt.axvline(x=np.pi/2,c='c',ls='--',lw=1)#設置無箭頭注釋plt.text(3.5,-0.5,'y=sin(x)',color='k')#設置titleplt.title("Basematplotlib")#設置橫縱坐標軸名稱plt.xlabel('x_axis')plt.ylabel('y_axis')plt.legend(loc='upperright')plt.show()