Matplotlib 繪製箱線圖
Suraj Joshi
2020年12月31日
本教程解釋了我們如何使用 Python 中的 matplotlib.pyplot.boxplot()
函式建立一個箱線圖。
通過給出資料的最小值、第一四分位數、中位數、第三四分位數和最大值的位置資訊,箱線圖可以幫助我們深入瞭解資料。
Matplotlib 中的 boxplot
import matplotlib.pyplot as plt
x=[4,5,6,8,9,10,10,11,11,12,13,14,15,15,15,17,18,19,22,23,25]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
輸出:
它從給定的資料 x
中繪製一個箱線圖。在箱線圖中,方框從 Q1
延伸到 Q3
;方框內的水平線代表資料的中位數。波形圖中的晶須從資料的 Q3
延伸到資料的最大值
,從資料的最小值
延伸到資料的 Q1
。
資料的最小值由 Q1-1.5(Q3-Q1)
的值決定,而資料的最大值由公式 Q3+1.5(Q3-Q1)
決定。
import matplotlib.pyplot as plt
x=[1,4,5,6,8,9,10,10,11,11,12,12,13,14,15,15,15,17,18,18,19,22,23,25,30,33,35]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
輸出:
它繪製了給定資料 x
的 boxplot。我們還可以注意到博平圖頂部的兩個離群值,在圖中用圓圈表示。
如果一個資料點的值小於 Q1-1.5(Q3-Q1)
或大於 Q3+ 1.5(Q3-Q1)
,則該資料點被繪製成離群值。
如果將一個二維陣列作為引數傳給 matplotlib.pyplot.boxplot()
函式,boxplot()
函式會對二維陣列中的每個陣列或列表生成箱線圖。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(100)
data_a =np.random.randint(2,15, size=15)
data_b =np.random.randint(5,18, size=20)
data_c =np.random.randint(2,20, size=30)
data_d =np.random.randint(1,30, size=40)
data_2d=[data_a,data_b,data_c,data_d]
plt.boxplot(data_2d)
plt.title("Boxplot Using Matplotlib")
plt.show()
輸出:
它為列表 data_2d
中的每個 NumPy 陣列建立箱線圖。因此我們在一個共享公共軸的單一圖形中獲得了 4 個箱線圖。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn