Я сгруппировал данные в 2 отдельных кадра данных и хочу построить их вместе с двумя отдельными строками на одном графике.
Я сгруппировал данные по мере необходимости и построил отдельные графики на основе сгруппированных данных.
grouped_men = df_men.groupby('age').mean()[['oldpeak']]
grouped_women = df_women.groupby('age').mean()[['oldpeak']]
grouped_men.plot(kind='line',title='Mens age vs oldpeak')
grouped_women.plot(kind='line',title='Womens age vs oldpeak')
Но теперь вместо двух отдельных графиков мне нужно построить один график с двумя линиями для мужчин и женщин.
Вам нужно указать оси, где Pandas должны размещать графики. Попробуйте следующее:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
grouped_men.plot(kind='line', ax=ax, label='Mens age vs oldpeak')
grouped_women.plot(kind='line', ax=ax, label='Womens age vs oldpeak')
plt.gca().legend(title = "Legend title") # Changes
plt.show()
Попробуйте указать название легенды: .legend(title='you title')
На самом деле это сработало, если указать .legend(['Возраст мужчин', 'Возраст женщин'])
Это работает частично, так как в легенде в правом верхнем углу графика показана легенда с двумя цветами, но название «старый пик» вместо «мужской возраст» и «женский возраст».