将字符串 xticks 拆分为多行 (matplotlib)

ga9*_*dil 1 python matplotlib seaborn

我有一个很长的字符串作为 xticks 的 matplotlib boxplot。有没有办法自动将它们分成多行以使情节更干净?我正在使用 seaborn 函数barplot来创建图形。

这是情节:在此处输入图片说明

我用来创建它的代码:

plt.figure(figsize=(15,13))
sns.barplot(x="Component",y="TTTR",color = "C0",data=new,dodge=False,edgecolor="black",zorder=3)
plt.xticks(rotation=90)
plt.grid(axis='y',zorder=0)
plt.title("10 most impactful components",size=30,y=1.04,**pfont)
plt.ylabel("Impact (Sum TTR in h)")
plt.xlabel('Component')
plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

Hei*_*ike 5

seaborn.barplot返回一个matplotlib.Axes对象,以便您之后可以Axes.set_xticklabels用来更新标签,例如

import textwrap

max_width = 20
ax = sns.barplot(...)
ax.set_xticklabels(textwrap.fill(x.get_text(), max_width) for x in ax.get_xticklabels())
Run Code Online (Sandbox Code Playgroud)