[英]Combining boxplots in one plot
我有一個包含兩列 Q 和 S 的數據集。下面顯示了它的一個示例:
df = pd.DataFrame(np.array([[1,40], [2, 51], [3, 59], [4, 10],
[5, 30], [7, 20], [9, 21], [13, 30], [15, 70], [2, 81], [3, 85],
[4, 67], [9, 120], [2, 481], [12, 51], [16, 120], [8, 9], [14, 15],
[11, 7], [12, 110], [6, 4], [9, 220], [1, 40], [2, 15], [14, 82], [7, 50]]),columns=['Q', 'S'])
根據“S”列中的值,我定義了三組:
Group_1A = df[(df['S'] >= 0) & (df['S'] <= 3)]
Group_2A = df[(df['S'] >= 4) & (df['S'] <= 8)]
Group_3A = df[(df['S'] >= 9) & (df['S'] <= 16)]
此外,我還為“Q”列定義了三個組:
Group_1B = df[(df['Q'] >= 0) & (df['Q'] <= 10)]
Group_2B = df[(df['Q'] >= 11) & (df['Q'] <= 50)]
Group_3B = df[(df['Q'] >= 51) & (df['Q'] <= 481)]
我需要找出每個組的 S 分布,我需要繪制一個包含所有 9 個箱線圖的圖。
我可以繪制每個單獨的箱線圖,但是我不知道如何在一個圖中顯示所有這些箱線圖。 例如,我可以使用以下代碼繪制 Group_1A 和 Group_1B 的箱線圖:
df_B1 = df[df['Q']<=10.0]
df_A1_B1 = df_B1[(df_B1['S'] >= 0) & (df_B1['S'] <= 3)]
fig, ax = plt.subplots()
ax = sns.boxplot(x="S",y="Q", data=df_A1_B1,ax=ax)#,order=order)
但是,這僅提供了我需要的 9 個箱線圖中的 1 個。
我想知道是否有人可以幫助我。
提前致謝
我剛剛發現我需要使用 matplolib.subplots。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.