line1 = plt.plot(xy, xy, c='k', label='solid')
line2 = plt.plot(xy, xy + 1, c='k', ls='dashed', label='dashed')
line3 = plt.plot(xy, xy - 1, c='k', ls='dashed', label='dashed')
plt.legend([(line1, line2), line3], ['text', 'more text', 'even more'],
    handler_map={tuple: HandlerTupleVertical()})
Два стиля линий в легенде