web-dev-qa-db-ja.com

matplotlibで目盛りと軸の間にスペースを追加するにはどうすればよいですか?

目盛りラベルのフォントを正常に増やしましたが、今では軸に近すぎます。目盛りラベルと軸の間に少し呼吸する部屋を追加したいと思います。

54
abjennings

Matplotlibはこれらの設定をrcParamsとして尊重しているようです:

pylab.rcParams['xtick.major.pad']='8'
pylab.rcParams['ytick.major.pad']='8'

これらを設定しますbeforeフィギュアを作成すれば大丈夫です。

私はソースコードを見てきましたが、プログラムでそれらを設定する他の方法はないようです。 (tick.set_pad()は正しいことをしようとしているように見えますが、Ticksが作成されるとパディングが設定されているようで、その後変更することはできません。)

31
abjennings

(rcParamsを編集して)間隔をグローバルに変更したくない場合、およびよりクリーンなアプローチが必要な場合は、これを試してください。

ax.tick_params(axis='both', which='major', pad=15)

またはちょうどx軸

ax.tick_params(axis='x', which='major', pad=15)

65
wronk

これはset_padを使用して実行できますが、ラベルをリセットする必要があります...

for tick in ax.get_xaxis().get_major_ticks():
    tick.set_pad(8.)
    tick.label1 = tick._get_text1()
17
tom10