Seit dem Upgrade von matplotlib wird beim Erstellen einer Legende der folgende Fehler angezeigt:
/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),))
Dies tritt sogar bei einem trivialen Skript wie diesem auf:
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()
Ich habe den Link gefunden, dass der Fehler mich bei der Diagnose der Fehlerquelle auf ziemlich nutzlos hinweist.
quelle
Verwenden Sie das Schlüsselwort "label" wie folgt:
und fügen Sie dann die Legende wie folgt hinzu:
Die Legende behält Linieneigenschaften wie Dicke, Farben usw. bei.
quelle
Verwenden Sie
handles
AKAProxy artists
quelle
Verwenden Sie beim Zeichnen des Diagramms die Beschriftung, dann können nur Sie die Legende verwenden. Der Name der x-Achse und der Name der y-Achse unterscheiden sich vom Namen der Legende.
quelle