Ich versuche, einige Figuren mit dem Seaborn-Modul in Python anzupassen, aber ich hatte nicht viel Glück beim Erstellen von benutzerdefinierten Beschriftungen oder Anmerkungen. Ich habe Code, der die folgende Abbildung generiert:
%Vor%Ich möchte zwei Dinge tun: 1. Ersetzen Sie die Standard-Faktor-Labels, z. 'bot = 0.0', mit aussagekräftigem Text, und 2. zeichne vertikale Linien auf die mittlere Zahl, die für jede Kategorie folgt.
Hier ist ein in sich geschlossenes Beispiel:
%Vor%Wer weiß, wie man FacetGrids anpasst?
Ein paar Dinge über set_titles
.
Zuerst werden die Standardtitel in der Methode FacetGrid.map
gezeichnet. Wenn Sie also die Titel ändern möchten, müssen Sie set_titles
nach dem Plotten aufrufen, andernfalls werden sie überschrieben.
Zweitens, wenn Sie sich den Docstring für die Methode ansehen, wird nicht nur eine willkürliche Liste von Titeln verwendet. Es bietet eine Möglichkeit, die Darstellung des Titels mithilfe des Spaltenvariablennamens und -werts zu ändern:
%Vor%Der einfachste Weg also "aussagekräftigen Text" zu haben, ist die Verwendung aussagekräftiger Daten in Ihrem Datenrahmen. Nehmen Sie dieses Beispiel mit zufälligen Daten:
%Vor% Wenn Sie möchten, dass "group" zero
und one
ist, sollten Sie nur diese Spalte ändern oder eine neue erstellen:
Dann sagen Sie, dass Sie nicht den Variablennamen im Titel haben wollen, der richtige Weg, um FacetGrid.set_titles
zu verwenden wäre
Wenn Sie die zu plottenden Daten nicht ändern möchten, müssen Sie die Attribute für die Matplotlib-Achsen direkt festlegen, etwa:
%Vor%Beachten Sie, dass dies der obigen Methode weniger vorzuziehen ist, da Sie sehr vorsichtig sein müssen, um sicherzustellen, dass die Reihenfolge Ihrer Liste korrekt ist und dass sie sich nicht ändert, während Sie die Informationen aus dem Datenframe selbst erhalten viel robuster.
Um den Mittelwert darzustellen, müssen Sie eine kleine Funktion erstellen, die an FacetGrid.map
übergeben werden kann. Es gibt mehrere Beispiele Mach das im Tutorial. In diesem Fall ist es ziemlich einfach:
Dann müssen Sie nur noch neu plotten:
%Vor%Tags und Links python matplotlib seaborn