Seaborn Python xtick标签不会旋转

时间:2017-05-12 17:03:59

标签: python matplotlib seaborn

我很抱歉再次提出这个问题,因为我知道之前已经多次询问过这个问题,并且我已经研究过所有其他解决方案,我可以在其他每个线程上找到它,但没有一个他们为我工作。无论我尝试什么,这些x标签仍然总是水平和混杂在一起。我不知道为什么我的工作不起作用,但我怀疑这与我在图上有三个子图的事实有关。

我已尝试过以下内容以及其他许多内容:

ax1.set_xticklabels(rotation = 30)< - 什么都没发生

axs [0] .set_xticklabels(rotation = 30)< - 错误

plt.xticks(rotation = 45)< - 什么都没发生

这是代码和图表。

    customer_rev_df = pd.DataFrame(customer_rev, columns='Week Revenue Pieces Stops'.split())
    print(customer_rev_df.set_index('Week'))
    sns.set_style(style='whitegrid')
    fig, axs = plt.subplots(ncols=3, figsize=(16, 6))
    ax1 = sns.factorplot(x='Week', y='Revenue', data=customer_rev_df, ax=axs[0])
    ax2 = sns.factorplot(x='Week', y='Stops', data=customer_rev_df, ax=axs[1])
    ax3 = sns.factorplot(x='Week', y='Pieces', data=customer_rev_df, ax=axs[2])
    axs[0].set_ylabel('Revenue')
    axs[1].set_ylabel('Stops')
    axs[2].set_ylabel('Pieces')
    axs[0].set_title('Weekly Revenue')
    axs[1].set_title('Weekly Stops')
    axs[2].set_title('Weekly Pieces')
    plt.tight_layout()
    fig.show()

Example of my figure

我承认我还是比较新的,所以对我很轻松!任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

使用.set_xticklabels()设置xticklabels需要实际指定xticklabels,如ax.set_xticklabels([1,2,3,4], rotation=30)

如果您已经有一个不错的情节,并且不想更改自己的标记,那么您可以执行以下操作:

plt.setp(ax.get_xticklabels(), rotation=30)

其中ax是您想要旋转xticklabels的轴。