Прежде всего, вы, конечно, можете добавить легенду для каждой оси,
ax = tempDF.plot(y='y1')
ax2 = tempDF.plot(y='y2', ax=ax, secondary_y=True)
ax.legend(loc=(0.9,.9))
ax2.legend(loc=(0.9,.8))
Чтобы они были внутри одной и той же легенды, вы можете создать легенду из соответствующих маркеров и меток легенды,
ax = tempDF.plot(y='y1')
ax2 = tempDF.plot(y='y2', ax=ax, secondary_y=True)
h1, l1 = ax.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax.legend(h1+h2, l1+l2, loc=(0.9,.9))
Альтернативой является использование легенды фигур.
ax = tempDF.plot(y='y1')
tempDF.plot(y='y2', ax=ax, secondary_y=True)
ax.figure.legend(loc=(0.9,.9))
Обратите внимание, что эта легенда фигур может работать только в более новых версиях matplotlib.Также обратите внимание, что координаты loc
теперь являются координатами фигур вместо координат осей.