fontsize
の使用中に、xとyの両方の目盛りラベルのmatplotlib
を増減する方法を見つけるのに問題があるようです。
set_xticklabels(labels, fontdict=None, minor=False, **kwargs)
関数があることは知っていますが、その中のfontsize
を制御する方法を理解できませんでした。
私は何かのように明示的な何かを期待していました
title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)
しかし、私は今のところそのようなものを見つけていません。私は何が欠けていますか?
思っていたよりも簡単です。
X軸の目盛りのフォントサイズを設定するには:
x_ticks=['x tick 1','x tick 2','x tick 3']
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
Y軸の目盛りに対してそれを行うには:
y_ticks=['y tick 1','y tick 2','y tick 3']
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
引数rotation
とfontsize
は、私が何をしたかを簡単に制御できます。
set_yticklabels
を使用してフォントサイズを変更することはできません。これにより、ラベルも設定される(つまり、自動フォーマッターがFixedFormatter
に置き換えられる)ため、通常は望ましくありません。最も簡単なのは、それぞれのtick_params
を設定することです:
ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
または
ax.tick_params(labelsize=8)
両方の軸が同じサイズでなければならない場合。
もちろん、 @ tmdavison's answer のようにrcParamsを使用することも可能です。
set_xticklabels
およびset_yticklabels
の呼び出しでフォントサイズを直接設定できます(前の回答で述べたように)。これは、一度に1つのAxes
のみに影響します。
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
ticklabel
を使用して、rcParams
フォントサイズをグローバルに(つまり、スクリプト内のすべての図/サブプロットに対して)設定することもできます。
import matplotlib.pyplot as plt
plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)
または、同等に:
plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
最後に、これがすべてのmatplotlibプロットに対して設定したい設定である場合、rcParams
ファイルでこれら2つのmatplotlibrc
を設定することもできます。
xtick.labelsize : 8 # fontsize of the x tick labels
ytick.labelsize : 8 # fontsize of the y tick labels
size
の代わりにキーワードfontsize
を使用します。