在Matplotlib中旋转现有的轴标签

Chr*_*ris 2 python matplotlib pandas

我从树图开始:

df = pd.DataFrame([1,20,3],[2,30,4],[3,40,5],columns=['mean','size','stat'])

fig,[ax1,ax2,ax3] = plt.subplots(1, 3, sharey=True)

ax1.barh(np.arange(len(df)),df['mean'].values, align='center')
ax2.barh(np.arange(len(df)),df['size'].values, align='center')
ax3.barh(np.arange(len(df)),df['stat'].values, align='center')
Run Code Online (Sandbox Code Playgroud)

有没有办法在所有三个图上旋转x轴标签?

CPB*_*PBL 7

当你完成绘图时,你可以遍历每个xticklabel:

for ax in [ax1,ax2,ax3]:
    for label in ax.get_xticklabels():
        label.set_rotation(90) 
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以为您正在创建的每个斧头执行此操作:

ax1.xaxis.set_tick_params(rotation=90)
ax2.xaxis.set_tick_params(rotation=90)
ax3.xaxis.set_tick_params(rotation=90)
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用子图构建轴,则在显示图之前在 for 中执行此操作:

for s_ax in ax:
  s_ax.xaxis.set_tick_params(rotation=90)
Run Code Online (Sandbox Code Playgroud)