我有一个带有多个子图的图形。
由于某些原因,set_xticklabels
方法不适用于这些子图。
这是正在使用的代码:
n_rows=len(customers)
fig,ax = plt.subplots(n_rows,2, figsize=(18,72))
fig.suptitle('Mytitile',fontsize=16)
fig.subplots_adjust(hspace=0.4, wspace=0.4)
#fig.tight_layout()
fig.subplots_adjust(top=0.97)
sns.set_style("ticks")
for i,client in enumerate(customers):
df = df1[df1['Client'] == client]
sns.lineplot(data = df, x='date', y='income',ax=ax[i,0]).set_title(client)
ax[i,0].yaxis.set_major_formatter(ticker.EngFormatter())
sns.lineplot(data = df, x='date', y='cost',ax=ax[i,1]).set_title(client)
ax[i,1].yaxis.set_major_formatter(ticker.EngFormatter())
我一直希望
ax[i,0].set_xticklabels(ax[i,0].get_xticklabels(), rotation=45,horizontalalignment='right')
可以解决问题,但这不是事实。 (它完全消失了标签) 任何想法为何以及如何解决?
答案 0 :(得分:1)
使用ax.tick_params
设置旋转角度会更简单
ax[i, 0].tick_params('x', labelrotation=45)
可以为(可选)第一个参数(默认为'x'
)指定 'y'
,'both'
或'both'
,并将控制标签旋转的轴已应用。
也许您应该尝试尝试