Построение коробчатой ​​диаграммы и гистограммы рядом с SeabornPython

Программы на Python
Anonymous
Построение коробчатой ​​диаграммы и гистограммы рядом с Seaborn

Сообщение Anonymous »

Я пытаюсь построить простую ящичную диаграмму рядом с простой гистограммой на том же рисунке, используя seaborn (0.11.2) и pandas (1.3.4) в блокноте Jupyter (6.4.5).
Я пробовал несколько подходов, но ничего не помогло.

Код: Выделить всё

fig, ax = plt.subplots(1, 2)
sns.boxplot(x='rent', data=df, ax=ax[0])
sns.displot(x='rent', data=df, bins=50, ax=ax[1])
Изображение

Есть дополнительный график или сетка, которая помещается рядом с коробчатым графиком, и этот дополнительный пустой график появляется каждый раз, когда я пытаюсь создать несколько осей.
Изменение:

Код: Выделить всё

fig, ax = plt.subplots(2)
Получает:
[img]https://i.sstatic. net/H1eL6.png[/img]

Опять этот дополнительный пустой график рядом с коробчатым графиком, но на этот раз под ним.
Попробуем следующее код:

Код: Выделить всё

fig, (axbox, axhist) = plt.subplots(1,2)
sns.boxplot(x='rent', data=df, ax=axbox)
sns.displot(x='rent', data=df, bins=50, ax=axhist)
Получает те же результаты.
Следуя ответу в этом посте, я пытаюсь:

Код: Выделить всё

fig, axs = plt.subplots(ncols=2)
sns.boxplot(x='rent', data=df, ax=axs[0])
sns.displot(x='rent', data=df, bins-50, ax=axs[1])
результат тот же:
[img]https://i.sstatic.net /IosIL.png[/img]

Если я просто создам фигуру, а затем графики под ней:

Код: Выделить всё

plt.figure()
sns.boxplot(x='rent', data=df)
sns.displot(x='rent', data=df, bins=50)
Это просто дает мне два графика друг над другом, что, как я полагаю, просто создает две разные фигуры.
Я не уверен почему этот дополнительный пустой график появляется рядом с коробчатым графиком, когда я пытаюсь выполнить несколько осей в seaborn.
Если я использую pyplot вместо seaborn, я смогу заставить его работать:

Код: Выделить всё

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
ax1.hist(df['rent'], bins=50)
ax2.boxplot(df['rent'])
Результаты:
Изображение

Самый близкий вариант — использовать seaborn только для коробчатой ​​диаграммы и pyplot для гистограммы:

Код: Выделить всё

plt.figure(figsize=(8, 5))
plt.subplot(1, 2, 1)
sns.boxplot(x='rent', data=df)
plt.subplot(1, 2, 2)
plt.hist(df['rent'], bins=50)
Результаты:
Изображение

Что мне не хватает? Почему я не могу заставить это работать с двумя графиками Seaborn на одной фигуре, расположенными рядом (1 строка, 2 столбца)?

Подробнее здесь: https://stackoverflow.com/questions/718 ... th-seaborn

Вернуться в «Python»