matplotlib: 2 leyendas diferentes en el mismo gráfico

Tengo un gráfico donde se usan diferentes colores para diferentes parámetros, y donde se usan diferentes estilos de línea para diferentes algoritmos. El objetivo es comparar los resultados de los diferentes algoritmos realizados con parámetros similares. Significa que, en total, uso 4 colores diferentes y 3 estilos de línea diferentes, para un total de 12 gráficos en el mismo gráfico.

De hecho, construyo la leyenda basada en colores, asociando cada color con el parámetro correspondiente. Ahora me gustaría mostrar una segunda leyenda en el mismo gráfico, con el significado de cada estilo de línea. ¿Es posible lograr eso? ¿Cómo?

Aquí es como se ve mi código en realidad:

colors = ['b', 'r', 'g', 'c']
cc = cycle(c)
for p in parameters:

    d1 = algo1(p)
    d2 = algo2(p)
    d3 = algo3(p)

    pyplot.hold(True)
    c = next(cc)
    pyplot.plot(d1, '-', color=c, label="d1")
    pyplot.plot(d1, '--', color=c)
    pyplot.plot(d2, '.-', color=c)

pyplot.legend()

Respuestas a la pregunta(2)

Su respuesta a la pregunta