Как я могу вставить метку и легенду, когда я хочу нарисовать подзаголовок с помощью python

#python #matplotlib #legend #subplot

Вопрос:

Я пытаюсь написать отдельную легенду в каждом графе, но это не работает. кто-нибудь может дать мне какой-нибудь совет, пожалуйста?

 import matplotlib.pyplot as plt
s=range(1,6)
a=[1,2,3,4,5]
b=[1,4,9,16,25]
c=a
d=b
fig = plt.figure()
gs = fig.add_gridspec(2, hspace=0)
axs = gs.subplots(sharex=True, sharey=True)
axs[0].step(s, a,label="Male")
axs[0].step(s, b, label="Female")
axs[1].step(s,c, label="$Ageleq 35$")
axs[1].step(s, d, label="$Age>35$")
#fig.legend(bbox_to_anchor=(1.05, 1.0), loc='upper left')
plt.legend() 
 

Ответ №1:

Попробуйте это вместо этого:

 import matplotlib.pyplot as plt
s=range(1,6)
a=[1,2,3,4,5]
b=[1,4,9,16,25]
c=a
d=b
fig = plt.figure()
gs = fig.add_gridspec(2, hspace=0)
axs = gs.subplots(sharex=True, sharey=True)
axs[0].step(s, a,label="Male")
axs[0].step(s, b, label="Female")
axs[1].step(s,c, label="$Ageleq 35$")
axs[1].step(s, d, label="$Age>35$")
axs[0].legend()
axs[1].legend()
#fig.legend(bbox_to_anchor=(1.05, 1.0), loc='upper left')
plt.show()
 

Выход: