Desde que actualicé matplotlib, aparece el siguiente error cada vez que intento crear una leyenda:
/usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30810>]
Use proxy artist instead.
http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist
warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % (str(orig_handle),))
/usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30990>]
Use proxy artist instead.
http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist
warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % (str(orig_handle),))
Esto incluso ocurre con un script trivial como este:
import matplotlib.pyplot as plt
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
plot1 = plt.plot(a,b)
plot2 = plt.plot(a,c)
plt.legend([plot1,plot2],["plot 1", "plot 2"])
plt.show()
Encontré el enlace al que me apunta el error bastante inútil para diagnosticar la fuente del error.
fuente
Utilice la palabra clave "etiqueta", así:
y luego agregue la leyenda así:
La leyenda conservará las propiedades de la línea como grosor, colores, etc.
fuente
Usar
handles
AKAProxy artists
fuente
use la etiqueta mientras traza el gráfico, entonces solo u puede usar la leyenda. El nombre del eje xy el nombre del eje y es diferente al nombre de la leyenda.
fuente