Как получить два сюжета бок о бок в matplotlib? - PullRequest
1 голос
/ 08 января 2020

Я только что использовал следующий код для построения 2-х участков:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8,4))
ax1 = fig.add_subplot(121)
ax1.set_xlabel('Credit_History')
ax1.set_ylabel('Count of Applicants')
ax1.set_title("Applicants by Credit_History")
temp1.plot(kind='bar')
ax2 = fig.add_subplot(122)
temp2.plot(kind='bar')
ax2.set_xlabel('Credit_History')
ax2.set_ylabel('Probability of getting loan')
ax2.set_title("Probability of getting loan by credit history")

Я получаю следующий вывод

Screenshot 1

Screenshot 2

Я получаю 3 сюжета, т.е. 2 субплота, как я и предполагал, однако второй пустой с заголовками, как описано. И третий под двумя с полосами для temp2 без заголовков.

То, что я хочу, это два сюжета рядом с заголовками, как описано. Хотите знать, что я сделал не так?

1 Ответ

0 голосов
/ 09 января 2020

Я не смогу воспроизвести это точно, если я не поставлю plt.show() между созданием экземпляра второй оси и temp2.plot(kind='bar'). Если вы не вызываете plt.show() (или очищаете буфер другим способом), попробуйте

temp1.plot(kind='bar', ax=ax1)
temp2.plot(kind='bar', ax=ax2)

. Это должно правильно использовать два сгенерированных экземпляра осей.

...