2017-04-26 2 views
0

Ich kann nicht scheinen, eine Lösung zu finden. Ich habe eine Legende, die benutzerdefiniert ist (mit der Lösung gefunden here) und ich versuche, mehrere Einträge in eine Zeile zu setzen, anstatt jeden neuen Eintrag unter dem vorherigen zu haben. Wie macht man?Wie lege ich alle Legendeneinträge auf eine Zeile?

red_patch = mpatches.Patch(color='red', label='The red data') 
blue_patch = mpatches.Patch(color='blue', label='The blue data') 
plt.legend(handles=[red_patch, blue_patch]) 

Ich mag haben „(rote Markierung) Die roten Daten (blaue Markierung) Die blauen Daten, etc ...“ alles in einer Zeile an der Spitze. Es wäre schön, wenn auch eine neue Zeile beginnt, wenn mehr Einträge vorhanden sind, als in die Handlung passen. So wie normaler Text, denke ich.

Antwort

1

Wenn Sie n Spalten in der Legende haben wollen, können Sie

verwenden
plt.legend(ncol=n) 
+0

Es obwohl keine wirkliche Legende ist, also wenn ich das tun, bekomme ich eine Fehlermeldung: '" UserWarning: Nein beschriftet Objekte gefunden. Verwenden Sie label = '...' kwarg auf einzelnen Plots. warnings.warn ("Keine beschrifteten Objekte gefunden." "' – Raksha

+0

In dem Code von Ihrer Frage gibt es eine Legende. – ImportanceOfBeingErnest

+0

vergiss es, es hat total funktioniert ... \ * facepalm \ * ... Ich habe Zeilen mit Spalten verwechselt und mich gefragt, warum 'ncol = 1' keine Zeile hat ... Ich schätze, das geht. Danke! – Raksha

Verwandte Themen