typeerror-in basic-Beispiel für die Legende Griffe in matplotlib
Ich habe Schwierigkeiten zu verstehen, die Legende der Handhabung. Das mehr, das grundlegende Beispiel von der offiziellen matplotlib Legende guide
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])
schlägt 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 der komplette traceback (mit den oben genannten Zeilen im 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'
- Das ist seltsam...Kannst du die volle zurückverfolgen?
- sicher, ich habe es auf die Frage Körper.
- Kann ich nicht reproduzieren, diese auf 1.4.0. Das war entweder ein bug, der bereits behoben wurde oder etwas wirklich lustig ist Los mit der installation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen Sie einfach
handles
StichwortWie das verwenden:
Ich hatte das gleiche Problem wie Jan, dem laufen Matplotlib 1.3.1 auf Ubuntu 14.04. Ich habe versucht, die Antwort gepostet von Kobi K. Seinen code nicht heben irgendwelche Fehler. Jedoch, die Legende nicht korrekt wiedergegeben:
Ich habe ein Upgrade auf Matplotlib 1.5.1 und kann jetzt Rendern die Legende richtig mit den code-gepostet von Jan, die auch die "handles" - Schlüsselwort (d.h. der code, der angezeigt wird, in der Matplotlib Legende guide):
Ich hatte den gleichen Fehler einige Zeit zurück, aber die Updates oben vorgeschlagen hat nicht funktioniert für mich. Ich aktualisiert meine version von matplotlib als gut, aber das hat nicht geholfen.
Was funktioniert hat war das entfernen der Griffe argument und die Grundstücke label insgesamt in der Legende () - Methode; wie diese:
Gerendert gut zu diesem: