Ich habe einen einfachen Faktorplot
import seaborn as sns
g = sns.factorplot("name", "miss_ratio", "policy", dodge=.2,
linestyles=["none", "none", "none", "none"], data=df[df["level"] == 2])
Das Problem ist, dass die x-Beschriftungen alle zusammen ausgeführt werden, sodass sie nicht mehr lesbar sind. Wie drehen Sie den Text, damit die Beschriftungen lesbar sind?
matplotlib
seaborn
Dan
quelle
quelle
import matplotlib.pylab as plt
.plt.xticks(rotation=45)
Antworten:
Aman ist richtig, dass Sie normale matplotlib-Befehle verwenden können, aber dies ist auch integriert in
FacetGrid
:Es gibt einige Kommentare und eine andere Antwort, die besagt, dass dies "nicht funktioniert". Jeder kann den Code wie hier beschrieben ausführen und sehen, dass er funktioniert. Die andere Antwort liefert kein reproduzierbares Beispiel dafür, was nicht funktioniert, was es sehr schwierig macht, darauf einzugehen, aber ich vermute, dass die Leute versuchen, diese Lösung auf die Ausgabe von Funktionen anzuwenden, die ein
Axes
Objekt anstelle von a zurückgebenFacet Grid
. Dies sind verschiedene Dinge, und dieAxes.set_xticklabels()
Methode erfordert in der Tat eine Liste von Beschriftungen und kann die Eigenschaften der vorhandenen Beschriftungen auf dem nicht einfach ändernAxes
. Die Lektion ist, dass es wichtig ist, darauf zu achten, mit welchen Objekten Sie arbeiten.quelle
ha="right"
diese Option, um die Beschriftungen der x-Achse mittig an ihren Häkchen auszurichten. dhg.set_xticklabels([label1, label2], rotation=30, ha='right')
g.set_xticklabels(rotation=30)
habeg.set_xticklabels(g.get_xticklabels(), rotation=30)
: stackoverflow.com/a/39689464/1870832FacetGrid
Objekt zurück, andere ein Matplotlib-Axes
Objekt. Bei ersteren funktioniert das Nichteinstellen der Beschriftungen, bei letzteren nicht. Sie könnenFacetGrid
anhand der Dokumentation sehen, welche Objekte vorhanden sind : seaborn.pydata.org/api.html . Wenn Sieg = sns.catplot()
dies beispielsweise verwenden, funktioniert dies, jedochsns.barplot()
nicht, weil einAxes
Objekt zurückgegeben wird.Ich hatte ein Problem mit der Antwort von @mwaskorn, nämlich das
schlägt fehl, da hierfür auch die Beschriftungen erforderlich sind. Ein bisschen einfacher als die Antwort von @Aman ist es, einfach hinzuzufügen
quelle
g.set_xticklabels(g.get_xticklabels(), rotation=30)
. Weisen Sie es einer Variablen zu, wenn Sie die Ausgabe unterdrücken möchten.plt.xtics
für mich funktioniert hat.Dies ist immer noch ein Matplotlib-Objekt. Versuche dies:
quelle
Wenn sich jemand fragt, wie dies für Clustermap CorrGrids (Teil eines bestimmten Beispiels für Meeresgeborene) funktioniert:
quelle
Sie können auch verwenden
plt.setp
Folgendes verwenden:um die Etiketten um 90 Grad zu drehen.
quelle
Zum Beispiel
seaborn.heatmap
können Sie diese mit drehen (basierend auf der Antwort von @ Aman ).quelle
Alle von Facetgrid unterstützten Seegeborenenplots funktionieren nicht mit (z. B. Catplot)
Barplot, Countplot usw. funktionieren jedoch, da sie von Facetgrid nicht unterstützt werden. Unten wird für sie arbeiten.
Wenn Sie zwei Diagramme übereinander haben, versuchen Sie es mit set_xticklabels im Diagramm, das dies unterstützt.
quelle