Я сделал легенду, добавив ее к рисунку, а не к оси (matplotlib 2.2.2). Чтобы удалить его, я установил атрибут legends
рисунка в пустой список:
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
ax1.plot(range(10), range(10, 20), label='line 1')
ax2.plot(range(10), range(30, 20, -1), label='line 2')
fig.legend()
fig.legends = []
plt.show()