1. ホーム
  2. python

[解決済み] 回転したxticklabelsとそれぞれのxtickを揃える

2022-04-20 05:53:34

質問

下の図のX軸を確認してください。ラベルを少し左に移動して、それぞれの目盛りに合わせるにはどうしたらよいでしょうか。

使ってラベルを回転させています。

ax.set_xticks(xlabels_positions)
ax.set_xticklabels(xlabels, rotation=45)

しかし、ご覧の通り、回転はテキストラベルの真ん中あたりを中心にしています。そのため、右にずれているように見えるのです。

代わりにこれを使ってみました。

ax.set_xticklabels(xlabels, rotation=45, rotation_mode="anchor")

...しかし、私が望んだようにはならない。そして "anchor" に許される値は1つだけのようです。 rotation_mode パラメータを使用します。

解決方法は?

ティクラベルの水平方向のアライメントを設定することができますので、以下の例をご覧ください。回転させたラベルの周囲に長方形のボックスをイメージすると、その長方形のどの辺をティックポイントに合わせたいですか?

あなたの記述からすると、あなたは次のようにしたい: ha='right'

n=5

x = np.arange(n)
y = np.sin(np.linspace(-3,3,n))
xlabels = ['Ticklabel %i' % i for i in range(n)]

fig, axs = plt.subplots(1,3, figsize=(12,3))

ha = ['right', 'center', 'left']

for n, ax in enumerate(axs):
    ax.plot(x,y, 'o-')
    ax.set_title(ha[n])
    ax.set_xticks(x)
    ax.set_xticklabels(xlabels, rotation=40, ha=ha[n])

<イグ