Python數據分析入門(二十一):數據可視化之繪制箱線圖


箱線圖

箱線圖(Box-plot)又稱為盒須圖、盒式圖或箱型圖,是一種用作顯示一組數據分散情況資料的統計圖。因形狀如箱子而得名。在各種領域也經常被使用,它主要用於反映原始數據分布的特征,還可以進行多組數據分布特征的比較。箱線圖的繪制方法是:先找出一組數據的上限值、下限值、中位數(Q2)和下四分位數(Q1)以及上四分位數(Q3);然后,連接兩個四分位數畫出箱子;再將最大值和最小值與箱子相連接,中位數在箱子中間。

 

 

中位數:把數據按照從小到大的順序排序,然后最中間的那個值為中位數,如果數據的個數為偶數,那么就是最中間的兩個數的平均數為中位數。 上下四分位數:同樣把數據排好序后,把數據等分為4份。出現在25%位置的叫做下四分位數,出現在75%位置上的數叫做上四分位數。但是四分位數位置的確定方法不是固定的,有幾種算法,每種方法得到的結果會有一定差異,但差異不會很大。

上下限的計算規則是: IQR=Q3-Q1 上限=Q3+1.5IQR 下限=Q1-1.5IQR

使用matplotlib繪制箱線圖:

matplotlib中有plt.boxplot來繪制箱線圖,這個方法的相關參數如下:

  1. x:需要繪制的箱線圖的數據。
  2. notch:是否展示置信區間,默認是False。如果設置為True,那么就會在盒子上展示一個缺口。
  3. sym:代表異常點的符號表示,默認是小圓點。
  4. vert:是否是垂直的,默認是True,如果設置為False那么將水平方向展示。
  5. whis:上下限的系數,默認是1.5,也就是上限是Q3+1.5IQR,可以改成其他的。也可以為一個序列,如果是序列,那么序列中的兩個值分別代表的就是下限和上限的值,而不是再需要通過IQR來計算。
  6. positions:設置每個盒子的位置。
  7. widths:設置每個盒子的寬度。
  8. labels:每個盒子的label
  9. meanlineshowmeans:如果這兩個都為True,那么將會繪制平均值的的線條。

示例代碼如下:

data = np.random.rand(100)*100
# 添加兩個異常值
data = np.append(data,np.array([-100,100]))
plt.boxplot(data,meanline=True,showmeans=True)

 

效果圖如下:

 

箱線圖的應用場景:

    1. 直觀明了地識別數據中的異常值。
    2. 利用箱線圖判斷數據的偏態。
    3. 利用箱線圖比較幾批數據的形狀。
    4. 箱線圖適合比較多組數據,如果知識要看一組數據的分布情況,建議使用直方圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM