Подсюжеты заполняются неправильно - PullRequest
2 голосов
/ 05 мая 2020

Я пытаюсь использовать Pandas DataFrame.plot () для построения двух столбчатых диаграмм переменных рядом со следующим кодом:

fig, (ax1, ax2) = plt.subplots(1,2)
ax1 = train_df['Condition1'].value_counts().plot(kind='bar')
ax2 = train_df['Condition2'].value_counts().plot(kind='bar')
plt.show()

Результат следующий:

enter image description here

Данные представляют собой набор данных Kaggle по ценам на жилье, однако я не думаю, что это имеет значение для ответа на вопрос. Я пробовал это с несколькими парами переменных, чтобы убедиться. Он всегда показывает только один график справа.

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

Это происходит независимо от того, какую ориентацию я выберу для своих подзаговоров (2,) (1,2), (2,1). Всегда один пустой участок.

Что здесь происходит?

1 Ответ

2 голосов
/ 05 мая 2020

Вы уже создали оси с помощью своей первой строки кода. Ваша вторая и третья строки кода перезаписывают их.

Вместо этого вам нужно передать ax1 и ax2 в качестве аргументов функции построения графика pandas.

Попробуйте следующее:

fig, (ax1, ax2) = plt.subplots(1,2)
train_df['Condition1'].value_counts().plot(kind='bar', ax=ax1)
train_df['Condition2'].value_counts().plot(kind='bar', ax=ax2)
plt.show()

enter image description here

...