首頁 > 軟體

Python資料視覺化之使用matplotlib繪製簡單圖表

2022-03-09 13:00:51

一、繪製折線圖

使用plot()繪製折線圖

常用的引數:

  • x:表示x軸的資料
  • y:表示y軸的資料
  • fmt:表示快速設定條樣式的格式字串。
  • label:表示應用於圖例的標籤文字。
  • plot()會返回一個包含Line2D類物件(代表線條)的列表。

plot()函數的語法格式:

plot(x,y ,fmt , scalex=True , scaley=true , data=None, label=None    等.....)

範例:

(1)

(2)

二、繪製柱形圖或堆積圖形

使用bar()繪製柱形圖或堆積柱形圖

bar()的語法格式有:
bar(x, height , width=0.8, bottom=None, align='center',
 data=None, tick_label=None, xerr=None, yerr=None, error_kw=None)

常用引數的含義:

  • x:表示柱形的x座標值
  • height:表示柱形的高度
  • width:表示柱形的寬度,預設為0.8
  • bottom:表示柱形底座的y座標值,預設為0
  • align:表示柱形的對齊方式,有’center’和’edge’兩個值,其中’center’表示將柱形刻度居中對齊;‘edge’表示將柱形的左邊與刻度線對齊。
  • tick_label:表示柱形對應的刻度標籤
  • xerr,yerr:若未設為None,則需要為柱形圖新增水平/ 垂直誤差棒
  • error_kw:表示誤差棒的屬性字典,字典的鍵對應errorbar()函數
  • bar()函數會返回一個BarContainer類的物件。
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(5)
y1=np.array([10,8,7,11,13])
bar_width=0.4
plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width)
plt.title("2020080603039")
plt.show()

(2)具有多組柱形的柱形圖

(3)通過給bottom引數傳值的方式的方式控制柱形的y值

三、繪製條形圖或堆積條形圖

使用barh()繪製條形圖或堆積條形圖

使用barh()函數的語法格式:
barh(y, width, heigth=0.8, left=None, align='center', *)

常用的引數的含義如下:

  • y:表示條形的y座標
  • width:表示柱形的寬度,預設為0.8
  • height:表示柱形的高度
  • left:條形左側的x座標,預設為0
  • align:表示柱形的對齊方式,有’center’和’edge’兩個值,其中’center’表示將柱形刻度居中對齊;‘edge’表示將柱形的左邊與刻度線對齊。
  • barh()函數會返回一個BarContainer類的物件。

(2)繪製具有多組條形的條形圖

(3)繪製堆積條形圖

 四、繪製堆積面積圖

使用stackplot()繪製堆積面積圖

stackplot()函數的語法格式:
stackplot(x, y , labels=(), baseline='zero', data=None, *)
  • x:表示x軸的資料,可以是一維陣列
  • y:表示y軸的資料,可以是二維陣列或一維陣列序列
  • labels:表示每組折現及填充區域的標籤
  • baseline:表示計算基線的方法,包括‘zero’,‘sym’,‘wiggle’,‘weighted_wiggle’

程式碼及圖如下:

五、繪製直方圖

使用hist()繪製

和hist()函數的語法格式如下:

hist(x, bins=None, range=None, density=None, weights=None,
 cumulative=False, bottom=None,histtype='bar',align='mid', 
 orientation='vertical', rwidth=None, 
 log=False, color=None, label=None, stacked=False)

常用的引數如下:

  • x:表示x軸的資料。
  • bins:指定直方圖條形的個數,預設值為10。
  • range:表示資料的範圍,指定資料的上下界,預設包含繪圖資料的最大值和最小值。
  • normed:是否將直方圖的頻數轉換成頻率。
  • weights:該引數可為每一個資料點設定權重。
  • cumulative:是否需要計算累計頻數或頻率。
  • bottom:可以為直方圖的每個條形新增基準線,預設為0。
  • histtype:指定直方圖的型別,預設為bar,除此之外,還有barstacked、step和stepfilled
  • align:設定條形邊界值的對齊方式,預設為mid,另外還有left和right
  • orientation:設定直方圖的擺放方向,預設為垂直方向
  • rwidth:設定直方圖條形的寬度
  • log:是否需要對繪圖資料進行log變換
  • color:設定直方圖的填充色edgecolor:設定直方圖邊框色
  • label:設定直方圖的標籤,可通過legend展示其圖例

(1)繪製一個具有8個矩形條填充的線條直方圖

(2)改變bins的值則能改變矩形條的條數,如下圖中設定的66,設定的數越大條數越多

六、繪製餅圖或者圓環圖

使用pie()繪製餅圖或者圓環圖

語法格式如下:
pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False,
labeldistance=1.1,
startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None,
center=(0,0),frame=False,rotatelabels=False,*,data=None)

常用的引數如下:

  • x:表示扇形或鍥形的資料
  • explode:表示扇形或鍥形離開圓心的距離
  • labels:表示扇形或鍥形對應的標籤文字
  • autopct:表示控制扇形或鍥形的數值顯示的字串,可通過格式字串指定小數點後的位數.
  • pctdistance:表示扇形或鍥形對應的數值標籤距離圓心的比例,預設為0.6
  • shadow:表示是否顯示陰影
  • labeldistance:表示標籤文字的繪製位置(相對於半徑的比例),預設為1.1.
  • radius:表示扇形或鍥形的半徑.
  • startangle:表示起始繪製角度,預設從x軸的正方向逆時針繪製
  • wedgeprops:表示控制扇形或鍥形屬性的字典.例如:通過wedgeprops={’‘width’:0.7}將鍥形的寬度設為0.7.
  • textprops:表示控制圖表中文字屬性的字典
  • center:表示圖表中心點位置,預設為(0,0)
  • frame:表示是否顯示圖框

(1)繪製一個餅形圖

(2)繪製一個環形圖

(3)繪製一個向外移動的餅狀圖

 七、繪製散點圖或氣泡圖

使用scatter()繪製散點圖或氣泡圖

scatter()函數語法格式:
scatter(x, y, s=None, marker=None, cmap=None, norm=None,
vmin=None, vmax=None, alpha=None, linewidths=None,verts=None,
edgecolors=None,* , plotnonfinite=False,data=None  )

八、繪製箱形圖

使用boxplot()繪製箱形圖

使用pyplot的boxplot()函數可以快速繪製箱形圖,boxplot()函數的語法如下:
boxplot(x, notch=None, sym=None, vert=None, whis=None,positions=None
widths=None, patch_artist=None, bootstrap=None,usermedians=None,*,)

九、繪製雷達圖

使用polar()繪製雷達圖

十、繪製誤差棒圖

使用errorbar()繪製誤差棒圖

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!   


IT145.com E-mail:sddin#qq.com