箱型圖(Box Plot),也稱為盒須圖或盒式圖,1977年由美國著名統計學家約翰·圖基(John Tukey)發明。
是一種用作顯示一組資料分佈情況的統計圖,因型狀如箱子而得名。
它能顯示出一組資料的最大值、最小值、中位數及上下四分位數。
箱子的頂端和底端,分別代表上下四分位數。
箱子中間的是中位數線,它將箱子一分為二。從箱子延伸出去的線條展現出了上下四分位數以外的資料,由於這兩根延伸出去的線像是鬍鬚,因此箱形圖也被稱為盒須圖。
箱形圖最大的優勢是,它以一種簡單的方式,概括出一個或多個數值變數的分佈,同時又不會佔據太多空間。
它主要由以下五個元素組成:
箱型圖適用於以下分析場景:
箱型圖不適用於以下分析場景:
本次通過箱型圖分析我國三大產業對GDP的貢獻情況。
資料來自國家統計局公開的歷年資料,整理好的檔案從下面的地址下載:
https://databook.top/nation/A02
使用的是其中的 A0201.csv
檔案(國內生產總值)
fp = "d:/share/data/A0201.csv"
df = pd.read_csv(fp)
df
過濾出三大產業在2013年~2022年的增加值資料。
data = df[df["zb"].isin(["A020103",
"A020104",
"A020105"])].copy()
data = data[data["sj"] > 2012]
data
其中,A020103
,A020104
,A020105
分別是三大產業的指標編號。
通過箱型圖展示三大產業的增加值情況:
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 1, 1])
graph = ax.boxplot(
[
data[data["zb"] == "A020103"].loc[:, "value"],
data[data["zb"] == "A020104"].loc[:, "value"],
data[data["zb"] == "A020105"].loc[:, "value"],
],
vert=True,
patch_artist=True,
labels=["第一產業", "第二產業", "第三產業"]
)
ax.set_title("2013~2022 三大產業對GDP增加值(億元)")
colors = ['pink', 'lightblue', 'lightgreen']
for patch, color in zip(graph['boxes'], colors):
patch.set_facecolor(color)
plt.show()
從圖中可以看出,近10年來,第一產業的增加值明顯低於其他兩個產業。
第二第三產業的上下限的值相差比較大,說明增長或者下降比較明顯(看了資料,是增長明顯)。
第一產業的中位數(紅色的橫線)偏下半部分,說明多數的年份增加值比較低;
第二產業的中位數(紅色的橫線)偏上半部分,說明多數的年份增加值比較高。