簡體   English   中英

在一個圖中組合箱線圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM