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

  • Mit matplotlib (für python 2.6) mit Abaqus 6.12
  • Größe eines matplotlib-Plots in einem tkinter Toplevel
  • Wie man Eigenschaften von Whiskern, Fliegern, Kappen, etc. in Seaborn Boxplot bearbeiten
  • Die Matplotlib-Achsgröße in Pixeln bestimmen
  • Matplotlib set yaxis Etikettengröße
  • Wie man eine Linie auf einem Streudiagramm in Python überbrückt?
  • Was passiert mit diesem matplotlib.finance.candlestick2_ochl code?
  • Cx_freeze konvertierte GUI-App (tkinter) stürzt nach dem Drücken der Plot-Taste ab
  • Kann ich eine Liste von Farben für Punkte auf matplotlib's 'Axes.plot ()' übergeben?
  • Wie verwende ich Seaborns color_palette als Farbkarte in matplotlib?
  • Matplotlib.pyplot: Sparen Sie die Plots in ein pdf
  • Python ist die beste Programmiersprache der Welt.