Python - Сюжет 2 Сюжеты вместе - PullRequest
0 голосов
/ 02 марта 2019

У меня есть два графика по отдельности, и я хочу отобразить их на одном графике.

Это мой график 1 код

ax1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()
ax1.plot.bar(rot =0)
plt.xlabel("Cat Names")
plt.ylabel("Measures")
plt.title("Title 1")
plt.show()

Это мой график 2 Код,

ax2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()
ax1.plot.bar(rot =0)
plt.xlabel("Cat Names")
plt.ylabel("Measures")
plt.title("Title 2")
plt.show()

Теперь это показано на разных графиках (изображениях) один за другим.Как я могу показать это на том же графике - один под другим на том же графике (изображение).

Пожалуйста, помогите мне с этим.

Это то, что я пытаюсь,

fig, axes = plt.subplots(nrows=2)
df1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()
ax1 = df1.plot.bar(rot =0)
df2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()
ax2 = df2.plot.bar(rot =0)
ax1.plt.bar(rot=0, ax=axes[0])
ax2.plt.bar(rot=0, ax=axes[1])
plt.show()

И это не работает для меня.

1 Ответ

0 голосов
/ 02 марта 2019

Ваше именование переменных немного нетрадиционно.ax обычно используется для объекта Axp matplotlib.Здесь у вас есть фрейм данных.

Независимо от этого, вы должны установить фигуру с двумя осями.plt.subplots это простой способ сделать это.Он вернет фигуру и массив со всеми осями, которые вы создали.Вы даже можете установить ось равной между двумя с помощью sharex и sharey.Используйте объекты осей в вызове построения для каждого кадра данных:

df1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()
df2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()

fig, axes = plt.subplots(nrows=2, sharex=True, sharey=True)
df1.plot.bar(rot=0, ax=axes[0])
df2.plot.bar(rot=0, ax=axes[1])
axes[0].set_title('Title 0')
axes[1].set_title('Title 1')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...