パー公式ガイドの使用がpylab
推奨されていません。matplotlib.pyplot
代わりに直接使用する必要があります。
を介してフォントサイズをグローバルに設定するにはrcParams
、
import matplotlib.pyplot as plt
plt.rcParams['axes.labelsize'] = 16
plt.rcParams['axes.titlesize'] = 16
# or
params = {'axes.labelsize': 16,
'axes.titlesize': 16}
plt.rcParams.update(params)
# or
import matplotlib as mpl
mpl.rc('axes', labelsize=16, titlesize=16)
# or
axes = {'labelsize': 16,
'titlesize': 16}
mpl.rc('axes', **axes)
デフォルトは以下を使用して復元できます
plt.rcParams.update(plt.rcParamsDefault)
これは、matplotlib構成ディレクトリの下のディレクトリにスタイルシートを作成することでも実行できます(構成ディレクトリはから取得できます)。スタイルシートのフォーマットはstylelib
matplotlib.get_configdir()
axes.labelsize: 16
axes.titlesize: 16
あなたがスタイルシートを持っているなら、あなたは/path/to/mpl_configdir/stylelib/mystyle.mplstyle
それを使ってそれを使うことができます
plt.style.use('mystyle')
# or, for a single section
with plt.style.context('mystyle'):
# ...
フォーマットを共有するmatplotlibrcファイルを作成(または変更)することもできます
axes.labelsize = 16
axes.titlesize = 16
これらの変更を修正したmatplotlibrcファイルによってのみ現在の作業ディレクトリのための、ないすべての作業ディレクトリのために使用されていない matplotlibrcファイルを持っているか、ないすべての作業ディレクトリのない matplotlibrcファイルを持っているし、他のmatplotlibrcファイルはありません指定されました。詳細については、matplotlibのカスタマイズページのこのセクションを参照してください。
rcParams
キーの完全なリストはを介して取得できますplt.rcParams.keys()
が、フォントサイズを調整するために使用します(ここから引用した斜体)
axes.labelsize
- xとyのラベルのフォントサイズ
axes.titlesize
- 軸のタイトルのフォントサイズ
figure.titlesize
- フィギュアタイトルのサイズ(Figure.suptitle()
)
xtick.labelsize
- 目盛りラベルのフォントサイズ
ytick.labelsize
- 目盛りラベルのフォントサイズ
legend.fontsize
-凡例のフォントサイズ(plt.legend()
、fig.legend()
)
legend.title_fontsize
-凡例タイトルのフォントサイズNone
。デフォルトの軸と同じに設定されます。使用例については、この回答を参照してください。
すべて文字列サイズ{'xx-small', 'x-small', 'smaller', 'small', 'medium', 'large', 'larger', 'x-large', 'xxlarge'}
またはfloat
in を受け入れますpt
。文字列のサイズは、以下で指定されるデフォルトのフォントサイズを基準にして定義されます。
font.size
- PTSで与えられたテキストのデフォルトのフォントサイズ、。10 ptが標準値です
さらに、次の方法で重みを指定できます(表示されるデフォルトの場合のみ)。
font.weight
-が使用するフォントのデフォルトの太さtext.Text
。受け入れ{100, 200, 300, 400, 500, 600, 700, 800, 900}
または'normal'
(400)、'bold'
(700) 'lighter'
、及び'bolder'
(現在の重量に対する相対)。
mpl.rcParams['font.size'] = 20
、値を10と14に変更mpl
してみました。まず、に変更しないとエラーが発生することがわかりましたplt
。この変更によりエラーは解消されましたが、コード行は私のタイトルやラベルに影響を与えませんでした。この構文は正しいですか?