Edit seaborn legend
Über einen Daten-frame, und der code in Python, ich war in der Lage, erstellen Sie einen plot:
g = sns.lmplot('credibility', 'percentWatched', data=data, hue = 'millennial', markers = ["+", "."], x_jitter = True, y_jitter = True, size=5)
g.set(xlabel = 'Credibility Ranking\n ← Low High →', ylabel = 'Percent of Video Watched [%]')
Allerdings mit der Legende sagen, "+ 0" und ". 1" ist nicht sehr hilfreich für die Leser. Wie kann ich Bearbeiten, die Legende, die Etiketten? Im Idealfall anstatt zu sagen 'tausendjährigen' würde es sagen, "Generation" und "+ Tausendjährigen Reiches" ". Ältere Generationen"
data.assign(Generation=data.millenial.map({0: "Older Generations", 1: "Millenial"}))
InformationsquelleAutor Oliver G | 2017-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
legend_out
eingestellt istTrue
dann Legende verfügbar ist, dachteg._legend
Eigenschaft und es ist ein Teil einer Figur. Seaborn legend ist standard-matplotlib Legende Objekt. Daher können Sie ändern, Legende, Texte wie:Andere situation, wenn
legend_out
eingestellt istFalse
. Sie haben, um zu definieren, welche Achsen hat, eine Legende (im Beispiel unten ist dies Achs-Nummer 0):Darüber hinaus können Sie kombinieren beide Situationen, und verwenden Sie diesen code:
Dieser code funktioniert für alle seaborn plot basiert auf
Grid
Klasse.Legend_out=True ist Voreinstellung, überspringen Sie dieses argument.
Ich habe gerade versucht
dir()
meinerax
Objekt und es gab keine_legend
- Attribut, aber es war einlegend_
Attribut. Ich hatte zu ändernzip(g._legend.texts, new_labels)
zuzip(g.legend_.texts, new_labels)
um den code zu erhalten, um zu arbeiten. Vielleicht ist dies aufgrund einer kürzlich erfolgten revision inmatplotlib
?Zum ändern der Legende Titel musste ich
.legend_.set_title()
Wie können Sie ändern Sie den Schriftgrad der Legende mit diesem code?
InformationsquelleAutor Serenity