0

I have the below the below three dataframes

df = pd.DataFrame(['JohnJohnJohnJohn','JuneJuneJuneJune','DanDanDanDan','JohnJohnJohnJohn','DanDanDanDan','DineDineDineDine','JuneJuneJuneJune','JohnJohnJohn'],columns =['Months'])
df1 = pd.DataFrame(['John_1John_1John_1','June_1June_1June_1','Dine_1Dine_1Dine_1','John_1John_1John_1','Dine_1Dine_1Dine_1','John_1John_1John_1'],columns =['Months'])
df2 = pd.DataFrame(['John_2John_2','Dine_2Dine_2','Dine_2Dine_2','John_2John_2','June_2June_2','John_2John_2'],columns =['Months'])

When displaying them in seaborn countplot, the x axis label gets over-write on each other. How can I rotate to 45 degree in display? I tried the below but doesn't work

f, axes = plt.subplots(1, 3)

sns.countplot(x='Months', data=df,order=df.Months.value_counts().index,ax=axes[0]).set(title='1D')
sns.countplot(x='Months', data=df1,order=df1.Months.value_counts().index,ax=axes[1]).set(title='2D')
sns.countplot(x='Months', data=df2,order=df2.Months.value_counts().index,ax=axes[2]).set(title='3D')
# axes.set_xticklabels(axes.get_xticklabels(), rotation=40, ha="right")

John
  • 99
  • 4

1 Answers1

2

You can rotate the labels for all axes:

for ax in axes:
    ax.set_xticklabels(ax.get_xticklabels(), rotation=45)
Tranbi
  • 11,407
  • 6
  • 16
  • 33