Я построил две серии Pandas из того же DataFrame с той же осью x, и все получилось отлично. Однако, когда я пытался создать легенду вручную, она появляется только с заголовком, а не с фактическим содержимым. Я пробовал другие решения без везения. Вот мой код:Создание легенды в matplotlib после построения двух серий Pandas
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
width = .3
df.tally.plot(kind='bar', color='red', ax=ax1, width=width, position=1, grid=False)
df.costs.plot(kind='bar', color='blue', ax=ax2, width=width, position=0, grid=True)
ax1.set_ylabel('Tally')
ax2.set_ylabel('Total Cost')
handles1, labels1 = ax1.get_legend_handles_labels()
handles2, labels2 = ax2.get_legend_handles_labels()
plt.legend([handles1, handles2], [labels1, labels2], loc='upper left', title='Legend')
plt.show()
plt.clf()
попробуйте передать 'метку = 'label'' kwarg? – tacaswell
Зачем вам это нужно? Почему не 'df [['tally', 'costs']]. Plot (...'? –