2014-07-16 5 views

Antwort

12

Diese Werte werden nur aus dem Feld in dem Eingabedatenrahmen genommen, dass Sie Verwenden Sie die Variable col oder hue im Diagramm faktorgrid. Die korrekte Vorgehensweise besteht also darin, die Werte so festzulegen, wie Sie sie im ursprünglichen Datenrahmen haben möchten, und diese dann an seaborn.factorplot weiterzuleiten. Wenn Sie einmal geplottet haben, gibt die Funktion ein Objekt der Klasse FacetGrid mit der Methode set_titles zurück. Auf diese Weise können Sie die Titel nach einem flexibleren Plotten ändern. Sie basieren jedoch grundsätzlich auf den Werten im Datenrahmen, den Sie an die Funktion übergeben haben. Sehen Sie den Docstring dieser Methode für mehr detal.

Die letzte Option besteht darin, die Titel manuell mithilfe von Matplotlib-Befehlen festzulegen. Das Objekt FacetGrid, das zurückgegeben wird, hat auch ein axes-Attribut, das ein zweidimensionales Array der Maptlotlib-Achsen in der Abbildung ist. Sie können das durchgehen und die Titel so einstellen, wie Sie wollen:

g = sns.factorplot(...) 
titles = ["foo", "bar", "buz"] 
for ax, title in zip(g.axes.flat, titles): 
    ax.set_title(title) 
+0

Entschuldigung für die späte Antwort! Vielen Dank für die Antwort. Ich habe diese Codes versucht, aber nichts passiert. Ich führe zuerst die Faktor-Plot-Funktion aus, dann ist der Titel für die Schleife nichts passiert. also wiederhole ich die factor plot funktion noch einmal, nichts hat sich geändert. Hat das etwas mit der Bestellung zu tun? Danke! @mwaskom – MYjx

+1

Zeichnen Sie in einem IPython-Notebook? Wenn ja, muss das alles in der gleichen Zelle passieren. Das könnte das Problem sein. – mwaskom

+0

@mwaskom Sorry für die Thread Nekromantie, aber ich wollte sehen, ob Sie eine Antwort für den anderen Teil der OP-Frage hatten. Ist es möglich, die Spaltennamen anzupassen, die in der Legende platziert werden, ohne den zugrunde liegenden Datenrahmen zu ändern? Ich möchte in meinen Spaltentiteln Unicode-Text verwenden können. –

Verwandte Themen