Объединение боксов в один сюжет - PullRequest
0 голосов
/ 02 декабря 2019

У меня есть набор данных с двумя столбцами 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

Я могу построить каждый отдельный блокпост, однако понятия не имею, как показать всеих в одном сюжете. Например, я могу построить коробочную диаграмму 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 коробочных диаграмм, которые мне нужны.

Мне интересно, может ли кто-нибудь мне помочь.

Заранее спасибо

1 Ответ

0 голосов
/ 02 декабря 2019

Я только что обнаружил, что мне нужно использовать matplolib.subplots.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...