Depuis la mise à niveau de matplotlib, j'obtiens l'erreur suivante chaque fois que j'essaye de créer une légende:
/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),))
Cela se produit même avec un script trivial comme celui-ci:
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()
J'ai trouvé le lien vers lequel l'erreur m'indique assez inutile pour diagnostiquer la source de l'erreur.
la source
Utilisez le mot-clé "label", comme ceci:
puis ajoutez la légende comme ceci:
La légende conservera les propriétés de ligne telles que l'épaisseur, les couleurs, etc.
la source
Utilisez
handles
AKAProxy artists
la source
utilisez l'étiquette lors du traçage du graphique, alors seulement vous pouvez utiliser la légende. Le nom de l'axe x et le nom de l'axe y sont différents du nom de la légende.
la source