Невозможно вращать xticklabels всех участков под рисунком морского - PullRequest
0 голосов
/ 21 января 2020

У меня есть фигура с несколькими сюжетами. По какой-то причине метод 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')

сделал бы трюк, но это не так. (Это просто полностью пропадает надписи) Есть идеи, почему и как я могу это исправить?

1 Ответ

1 голос
/ 21 января 2020

Было бы проще использовать ax.tick_params для установки вращения,

ax[i, 0].tick_params('x', labelrotation=45)

'x', 'y' или 'both' можно указать для ( необязательный) первый аргумент (по умолчанию 'both') и будет контролировать, к каким осям применяется поворот метки.

Возможно, вам следует попробовать это вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...