开发者社区> 问答> 正文

在两个海图上旋转Xticks

我有一个时间序列数据,并排绘制了两个图表。我需要旋转x标签,因为可能要显示很多年。当我添加plt.xticks(rotation = 45)时,它仅更改第二个图的旋转,而不更改第一个图的旋转。有什么建议么?

这是我的代码:

values = range(0,120)
dates = pd.date_range(start='2000', end='2010', freq='M')
df = pd.DataFrame({'Date': dates,
                     'value':values})

def box_plot(df, value):
    # Prepare data
    data_date = df.reset_index()
    data_date['year'] = [d.year for d in data_date.Date]
    data_date['month'] = [d.strftime('%b') for d in data_date.Date]
    years = data_date['year'].unique()

    # Draw Plot
    fig, axes = plt.subplots(1, 2, figsize=(20,7), dpi= 80)
    sns.boxplot(x='year', y=value, data=data_date, ax=axes[0])    
    sns.boxplot(x='month', y=value, data=data_date)

    # Set Title
    axes[0].set_title('Year-wise Box Plot '+value+'\n(The Trend)', fontsize=18); 
    axes[1].set_title('Month-wise Box Plot '+value+'\n(The Seasonality)', fontsize=18)
    plt.show()

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 15:37:16 416 0
1 条回答
写回答
取消 提交回答
  • 您应该可以使用matplotlib.axes.Axes.tick_params()方法而不是plt.xticks。后者仅适用于“当前”(在这种情况下为最新生成的)轴实例,而前者可以在任何轴实例上使用。例如:

    axes[0].tick_params(axis='x', labelrotation=45)
    axes[1].tick_params(axis='x', labelrotation=45)
    

    回答来源:stackoverflow

    2020-03-24 15:37:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载