針對受試者自評的「眼睛乾澀程度(Eye_Dryness_Level)」與「眼痛程度(Eye_Pain_Level)」兩大核心生理指標,利用箱形圖與小提琴圖檢視其集中趨勢、分散程度與離群值型態。
一、實作前情境:為什麼量表評分特別適合小提琴圖?
昨天我們用直方圖看完了連續型變數(螢幕時間、睡眠時間)。但今天的兩個核心症狀指標:
這類自評量表屬於離散型數值。若僅依賴平均值(乾澀4.71分、眼痛5.08分),容易忽略資料的分佈型態,無法辨識樣本是多數集中於中位數5分的單峰分佈,抑或呈現兩極化(低分組與重度症狀組並存)的雙峰特徵。
因此,今天結合兩種互補的統計圖表:箱形圖:精準標出中位數(Q2)、上四分位數(Q75)、下四分位數(Q25)以及是否有超過1.5xIQR的極端離群值。小提琴圖:結合核密度估計(KDE),展示分數在各刻度上的胖瘦厚度,一眼看出分數在量表兩端的擁擠程度。
二、撰寫雙指標視覺化腳本
在同一個Colab筆記本中新增儲存格,延續昨天封裝好的my_font字型物件進行繪圖:
# ==========================================
# Day7:症狀量表視覺化(箱形圖+小提琴圖)
# ==========================================
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.font_manager as fm
# 確保引用已下載的字型
font_path = 'NotoSansTC-Regular.otf'
my_font = fm.FontProperties(fname=font_path)
# 1.建立2x2畫布佈局
fig, axes = plt.subplots(2, 2, figsize=(14, 10))
sns.set_theme(style="whitegrid")
# 圖1:眼睛乾澀程度 (箱形圖) ---
sns.boxplot(y=df['Eye_Dryness_Level'], ax=axes[0, 0], color='#4a90e2', width=0.4)
axes[0, 0].set_title('眼睛乾澀程度分佈 (箱形圖)', fontproperties=my_font, fontsize=13, fontweight='bold')
axes[0, 0].set_ylabel('乾澀評分 (0-10 分)', fontproperties=my_font, fontsize=11)
# 圖2:眼睛乾澀程度 (小提琴圖) ---
sns.violinplot(y=df['Eye_Dryness_Level'], ax=axes[0, 1], color='#4a90e2', inner='quartile')
axes[0, 1].set_title('眼睛乾澀程度密度分佈 (小提琴圖)', fontproperties=my_font, fontsize=13, fontweight='bold')
axes[0, 1].set_ylabel('乾澀評分 (0-10 分)', fontproperties=my_font, fontsize=11)
# 圖3:眼痛/眼壓不適程度 (箱形圖) ---
sns.boxplot(y=df['Eye_Pain_Level'], ax=axes[1, 0], color='#e26a6a', width=0.4)
axes[1, 0].set_title('眼痛程度分佈 (箱形圖)', fontproperties=my_font, fontsize=13, fontweight='bold')
axes[1, 0].set_ylabel('眼痛評分 (0-10 分)', fontproperties=my_font, fontsize=11)
# 圖4:眼痛/眼壓不適程度 (小提琴圖) ---
sns.violinplot(y=df['Eye_Pain_Level'], ax=axes[1, 1], color='#e26a6a', inner='quartile')
axes[1, 1].set_title('眼痛程度密度分佈 (小提琴圖)', fontproperties=my_font, fontsize=13, fontweight='bold')
axes[1, 1].set_ylabel('眼痛評分 (0-10 分)', fontproperties=my_font, fontsize=11)
plt.tight_layout()
plt.show()

三、圖表解讀與統計觀察
由輸出的2×2視覺化圖表,可深入解析兩項自評症狀量表的集中趨勢與分佈形狀:
1.箱形圖解析:標準分佈且無統計離群值
2.小提琴圖解析:均勻多峰與密度分佈
這兩項指標在500位受試者中呈現出足夠的離散度與個體差異,且中位數均位於量表中點,為後續與生活因子進行交叉關聯分析建立了極佳的基礎。