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-Etiketten alle zusammen laufen und sie unlesbar machen. Wie drehen Sie den Text, damit die Beschriftungen lesbar sind?
import matplotlib.pylab as plt . plt.xticks(rotation=45)
– Raffaelvalle
16. August 2016 um 16:20 Uhr
Das Dexplot-Bibliothek hat die Fähigkeit, Etiketten zu umbrechen, die Figurengröße und dpi festzulegen, ohne Matplotlib zu verwenden.
– Ted Petrou
12. Juni 2020 um 15:30 Uhr
Ich hatte ein Problem mit der Antwort von @mwaskorn, nämlich das
g.set_xticklabels(rotation=30)
schlägt fehl, da hierfür auch die Etiketten benötigt werden. Etwas einfacher als die Antwort von @Aman ist es, einfach hinzuzufügen
plt.xticks(rotation=45)
Sie können die Etiketten auch so erhalten g.set_xticklabels(g.get_xticklabels(), rotation=30). Weisen Sie es einer Variablen zu, wenn Sie die Ausgabe unterdrücken möchten.
– joelostblom
7. Februar 2016 um 3:43 Uhr
Ich denke, das ist richtig, bei der Einstellung plt.xtics hat bei mir funktioniert.
– Muammar
29. August 2018 um 18:56 Uhr
Wenn ich das versuche, sind meine xticklabels nicht mehr an den x-Ticks ausgerichtet. Weiß jemand warum?
– Rylan Schäfer
8. April 2021 um 22:37 Uhr
Ich empfehle, auch hinzuzufügen plt.tight_layout()sodass die Ränder an den Text angepasst werden
– Ufos
25. Oktober 2021 um 13:26 Uhr
g.set_xticklabels(rotation=30) arbeitet an FacetGrid jetzt
– Ufos
5. November 2021 um 17:08 Uhr
mwaskom
Mit können Sie Teilstrichbeschriftungen drehen tick_params Methode auf matplotlib Axes Objekte. Um ein konkretes Beispiel zu geben:
ax.tick_params(axis="x", rotation=90)
Ich erhalte eine Fehlermeldung: IndexError: too many indices. Mein Code! g = sns.factorplot(“month_date”, “num_proposals”, “account”, sorted_data, col=”account”,col_wrap=3,sharex=False); g.set_xticklabels(rotation=30)
– Yoshiserry
9. Dezember 2014 um 2:29 Uhr
@soupault – das hat bei mir funktioniert, ähnlich wie du es dir ausgedacht hast, aber vielleicht etwas sauberer – für ax in g.axes.flatten(): ax.set_xticklabels(ax.get_xticklabels(),rotation=30)
– odedbd
7. Februar 2017 um 9:15 Uhr
Verwenden ha="right" X-Achsenbeschriftungen an ihren Teilstrichen zentriert auszurichten. dh g.set_xticklabels([label1, label2], rotation=30, ha='right')
– Manavalan-Gajapathie
2. September 2017 um 3:32 Uhr
Ähnlich wie bei ein paar Kommentaren oben gab mir dies einen Fehler, bis ich mich änderte g.set_xticklabels(rotation=30) zu g.set_xticklabels(g.get_xticklabels(), rotation=30) Dank dieser Antwort: stackoverflow.com/a/39689464/1870832
– Maximale Kraft
2. November 2017 um 17:51 Uhr
Einige Plotmethoden von Seaborn geben a zurück FacetGrid Objekt, einige geben eine Matplotlib zurück Axes Objekt. Für Ersteres funktioniert das Nicht-Setzen der Labels, für Letzteres nicht. Sie können sehen, welche sind FacetGrid Objekte, indem Sie sich die Dokumentation ansehen: seaborn.pydata.org/api.html . Wenn Sie zum Beispiel verwenden g = sns.catplot() das wird funktionieren, aber sns.barplot() wird nicht, weil es an zurückgibt Axes Objekt.
– aufstehen8
15. Mai 2019 um 6:58 Uhr
Dies ist immer noch ein Matplotlib-Objekt. Versuche dies:
Falls Sie zwei Graphen übereinander gelegt haben, versuchen Sie set_xticklabels auf einem Graphen, der dies unterstützt.
Sie können auch verwenden plt.setp folgendermaßen:
import matplotlib.pyplot as plt
import seaborn as sns
plot=sns.barplot(data=df, x=" ", y=" ")
plt.setp(plot.get_xticklabels(), rotation=90)
um die Etiketten um 90 Grad zu drehen.
Benutzer5875384
Wenn sich jemand fragt, wie das für Clustermap CorrGrids geht (Teil eines gegebenen Seebeispiels):
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(context="paper", font="monospace")
# Load the datset of correlations between cortical brain networks
df = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0)
corrmat = df.corr()
# Set up the matplotlib figure
f, ax = plt.subplots(figsize=(12, 9))
# Draw the heatmap using seaborn
g=sns.clustermap(corrmat, vmax=.8, square=True)
rotation = 90
for i, ax in enumerate(g.fig.axes): ## getting all axes of the fig object
ax.set_xticklabels(ax.get_xticklabels(), rotation = rotation)
g.fig.show()
serv-inc
Für ein seaborn.heatmapSie können diese mit drehen (basierend auf der Antwort von @Aman)
pandas_frame = pd.DataFrame(data, index=names, columns=names)
heatmap = seaborn.heatmap(pandas_frame)
loc, labels = plt.xticks()
heatmap.set_xticklabels(labels, rotation=45)
heatmap.set_yticklabels(labels[::-1], rotation=45) # reversed order for y
Das hat bei mir funktioniert, nur das Übergeben von Rotationsparametern hat nichts bewirkt, ich musste auch die Labels übergeben, damit dies funktioniert
– Raveen Beemsingh
3. Januar 2019 um 16:06 Uhr
14305200cookie-checkBeschriftungstext im Seaborn Factorplot drehenyes
import matplotlib.pylab as plt
.plt.xticks(rotation=45)
– Raffaelvalle
16. August 2016 um 16:20 Uhr
Das Dexplot-Bibliothek hat die Fähigkeit, Etiketten zu umbrechen, die Figurengröße und dpi festzulegen, ohne Matplotlib zu verwenden.
– Ted Petrou
12. Juni 2020 um 15:30 Uhr