Как я могу нарисовать участок коробочных графиков в python (несколько коробочных графиков на одном графике) - PullRequest
0 голосов
/ 02 декабря 2019

Ниже приведен образец набора данных, который у меня есть:

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]]),columns=['A', 'B')

На основании значений в столбце AI определены три группы:

Group_1A = df[(df['A'] >= 0) & (df['A'] <= 3)]
Group_2A = df[(df['A'] >= 4) & (df['A'] <= 7)]
Group_3A = df[(df['A'] >= 9) & (df['A'] <= 15)]

Для столбца BI также естьтри группы следующим образом:

Group_1B = df[(df['B'] >= 10) & (df['B'] <= 30)]
Group_2B = df[(df['B'] >= 40) & (df['B'] <= 60)]
Group_3B = df[(df['B'] >= 70) & (df['B'] <= 100)]

Теперь мне нужен график, который показывает все 9 коробочных графиков вместе. Sth, как на следующей картинке. enter image description here

Я пытался использовать seaborn.boxplot и пытался выяснить, могу ли я построить 9 боксов по отдельности, а затем объединить их вместе, но это не сработало. Например, я попытался определить новый набор данных на основе групп 1А и 1В следующим образом:

df2 = Group_1A[Group_1A[(df['B'] >= 10) & (df['B'] <= 30)]] 
fig, ax = plt.subplots(figsize=(9,9))
ax = sns.boxplot(x="B",y="A", data=df2,ax=ax)#,order=order)

Это дает мне только один из блокпостов (когда А находится в диапазоне [0-3] и В вдиапазон [10-30]). enter image description here

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

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

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