Вращать метки на обоих графиках - PullRequest
0 голосов
/ 10 марта 2020

У меня есть данные временного ряда, и я строю две диаграммы рядом. Мне нужно повернуть метки «х», так как есть еще годы, чтобы показать. Когда я добавляю 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()

1 Ответ

1 голос
/ 11 марта 2020

Вы должны иметь возможность использовать метод matplotlib.axes.Axes.tick_params() вместо plt.xticks. Последнее относится только к «текущему», в данном случае к последнему сгенерированному экземпляру осей, в то время как первый может использоваться на любом экземпляре осей. Например:

axes[0].tick_params(axis='x', labelrotation=45)
axes[1].tick_params(axis='x', labelrotation=45)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...