Typfehler im Grundbeispiel für Legendengriffe in Matplotlib

Ich habe Schwierigkeiten, die Legende zu verstehen. Je mehr, das grundlegende Beispiel aus der offiziellen matplotlib Legende Führer

import matplotlib.pyplot as plt line_up, = plt.plot([1,2,3], label='Line 2') line_down, = plt.plot([3,2,1], label='Line 1') plt.legend(handles=[line_up, line_down]) 

TypeError: __init__() got multiple values for keyword argument 'handles' mit TypeError: __init__() got multiple values for keyword argument 'handles' .

Was mache ich falsch? Irgendwelche Ideen?

Meine matplotlib Version ist 1.3.1 . Ich bin auf Ubuntu 14.04 ..

Hier ist die volle Rückverfolgung (mit den oben genannten Zeilen in der Python-Skript)

 heiland@note121:bauHS15_iomapsgenpod$ python testleg.py Traceback (most recent call last): File "testleg.py", line 4, in <module> plt.legend(handles=[line_up, line_down]) File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 3381, in legend ret = gca().legend(*args, **kwargs) File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4778, in legend self.legend_ = mlegend.Legend(self, handles, labels, **kwargs) TypeError: __init__() got multiple values for keyword argument 'handles' 

3 Solutions collect form web for “Typfehler im Grundbeispiel für Legendengriffe in Matplotlib”

Entfernen Sie einfach handles Schlüsselwort

Benutze es so:

 import matplotlib.pyplot as plt line_up, = plt.plot([1,2,3], label='Line 2') line_down, = plt.plot([3,2,1], label='Line 1') plt.legend([line_up, line_down]) 

Ich hatte das gleiche Problem wie Jan, mit Matplotlib 1.3.1 auf Ubuntu 14.04. Ich habe die Antwort von Kobi K veröffentlicht. Sein Code hat keine Fehler aufgeworfen. Allerdings hat die Legende nicht richtig gemacht: Schlechte Legende über Matplotlib 1.3.1 Ich habe auf Matplotlib 1.5.1 aufgerüstet und kann nun die Legende korrekt mit dem von Jan geposteten Code rendern, der das Schlüsselwort "Handles" enthält (dh der Code, der in der Matplotlib-Legende-Anleitung erscheint ): Schlechte Legende über matplotlib 1.5.1

Ich hatte den gleichen Fehler einige, während zurück, aber die fixes oben vorgeschlagen hat nicht für mich arbeiten. Ich habe auch meine Version von matplotlib aktualisiert, aber das half nicht.

Was war die Arbeit war das Entfernen der Handles Argument und welche Plots zu etikettieren insgesamt in der Legende () -Methode; so was:

  plot1 = plt.plot([1,2,3], 'b', label = 'first plot') plot2 = plt.plot([3,2,1], 'r', label = 'second plot') plt.legend() plt.show() 

Was das gut gemacht hat: Bildbeschreibung hier eingeben

  • Einstellung der Größe der Plotten Leinwand in Matplotlib
  • Wie kann man den Standard-Farbzyklus für alle Subplots mit Matplotlib einstellen?
  • Wie man eine pylab-figur in in-speicherdatei speichert, die in PIL-Bild gelesen werden kann?
  • Falsche Rechteckposition in Matplotlib
  • Matplotlib-Achsen-Etikettenformat
  • Speichern Sie die Mausklick-Ereigniskoordinaten mit matplotlib
  • Matplotlib funktioniert nicht mehr durch interaktive Ausgabe
  • Wie bekomme ich die (x, y) Werte der Linie, die von einem Konturplot (Matplotlib) gepeitscht wird?
  • Matplotlib Animation mit Blit - wie man Plot Titel aktualisieren?
  • Zeichnung einer Parabel mit Matplotlib in Python
  • Matplotlib auf CentOS installieren 6.5
  • Python ist die beste Programmiersprache der Welt.