日本語フォントを登録して、それを利用するだけである …のはずなのだが、 具体的にどうすれば良いのかはケース・バイ・ケースである。 OS により用意されているフォントが違うし、 どうやってインストールした Python を用いるかでファイルの置き場所が異なる。
以下は、私の場合である。 私は Mac で、MacPorts でインストールした python310 を使っている。 macOS にはヒラギノ・フォントが用意されている。
次の2つのうち、どちらかをすれば良い。一度やれば済むという点で、1がお薦め。
font.family: Hiragino Maru Gothic Pro |
Python で matplotlibrc のパス名を表示させる |
import matplotlib matplotlib.matplotlib_fname() |
plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meirio', 'Takao', 'IPAexGothic', 'IPAPGothic', 'VL PGothic', 'Noto Sans CJK JP'] |
以上、これで良いと思う。
この(とりあえずの)結論に到達するまでは、IPA フォントを利用するようにしていた。 そのときに書いたメモを参考まで以下に引用しておく。
私は MacTeX を使う関係で、IPAexGothic (ipaexg.ttf) が Mac にあるので、それを利用することにした。
ダメ元で Mac にないか、ターミナルで検索 |
mdfind ipaexg.ttf |
これを Python で使っている matplotlib から見えるようにする。
私の場合は、普段 MacPorts の Python を使っているため、
sudo ln -s /usr/local/texlive/texmf-local/fonts/truetype/cjk-gs-integrate/ipaexg.ttf \ /opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf rm ~/.matplotlib/*.json |
後は、このフォントを使うように指定するだけである。 ~/.matplotlib/matplotlibrc を用意して、
font.family: IPAexGothic |
きちんとやるには、 デフォールトの設定ファイルを探し出して、それを ~/.matplotlib/matplotlibrc にコピーしてから、上の1行を書き足す。 デフォールトの設定ファイルは注釈行しかない場合も多く (ユーザーのための参考情報であって、実質的に何も書いていないのと同じ。)、 その場合は上の1行だけのファイルを作れば良い。