У меня есть набор данных с двумя столбцами 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присущи рефлективные, вербальные.
Окончательный график должен выглядеть следующим образом: ![enter image description here](https://i.stack.imgur.com/bMs6K.png)
Я могу построить каждый отдельный блокпост, однако понятия не имею, как показать всеих в одном сюжете. Например, я могу построить коробочную диаграмму 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)
Однако, это дает мне только 1 из 9 коробочных диаграмм, которые мне нужны.
Мне интересно, может ли кто-нибудь мне помочь.
Заранее спасибо