Orden en leyenda plots python

Necesito trazar múltiples conjuntos de datos en la misma ttwig, y ​​uso matplotlib.

Para algunas de las plots uso plt.plot() y para las otras, uso plt.errorbar() . Pero cuando hago una leyenda, las creadas con plt.plot() aparecen primero, no importa en qué orden las coloco en el archivo (y zorder parece no tener efecto en la posición de la leyenda).

¿Cómo puedo dar el orden que quiero en la leyenda, independientemente de la forma en que graficar los datos?

Puede ajustar el orden manualmente, obteniendo los identificadores y las tags de leyenda utilizando ax.get_legend_handles_labels , y luego reordenando las listas resultantes, y alimentándolas a ax.legend . Al igual que:

 import matplotlib.pyplot as plt import numpy as np fig,ax = plt.subplots(1) ax.plot(np.arange(5),np.arange(5),'bo-',label='plot1') ax.errorbar(np.arange(5),np.arange(1,6),yerr=1,marker='s',color='g',label='errorbar') ax.plot(np.arange(5),np.arange(2,7),'ro-',label='plot2') handles,labels = ax.get_legend_handles_labels() handles = [handles[0], handles[2], handles[1]] labels = [labels[0], labels[2], labels[1]] ax.legend(handles,labels,loc=2) plt.show() 

introduzca la descripción de la imagen aquí