H..3 matplotlib で日本語タイトルを用いる

日本語フォントを登録して、それを利用するだけである …のはずなのだが、 具体的にどうすれば良いのかはケース・バイ・ケースである。 OS により用意されているフォントが違うし、 どうやってインストールした Python を用いるかでファイルの置き場所が異なる。


以下は、私の場合である。 私は Mac で、MacPorts でインストールした python310 を使っている。 macOS にはヒラギノ・フォントが用意されている。

次の2つのうち、どちらかをすれば良い。一度やれば済むという点で、1がお薦め。

  1. matplotlibrc
    font.family: Hiragino Maru Gothic Pro
    
    という設定を書き込む。 MacPorts で Python をインストールした場合は、 matplotlibrc~/.matplotlib/matplotlibrc に置かれる (らしい)。 どこに置いてあるかは、一般には次のようにして調べられる。
    Python で matplotlibrc のパス名を表示させる
    import matplotlib
    matplotlib.matplotlib_fname()
    
  2. Python のプログラム中で、例えば次のようにフォントを指定する。
    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']
    
    これは某WWWサイトに載っていたものだが (どこのサイトだったか、 メモをなくしてしまった…)、色々なフォントを探すようにしてある。 Mac の場合は最初の 'Hiragino Maru Gothic Pro' で解決する。 Meirio や Yu Gothic は Windowsで有効なもの? IPAexGothic や IPAGothic は IPA (独立行政法人情報処理推進機構) が開発・公開しているフリーのフォントである。 IPA フォントを自分で入手・設定すれば、 Windows, Mac, Linux のいずれでも利用可能である (Linux を使っている人がインストールしていそうだ)。

以上、これで良いと思う。


この(とりあえずの)結論に到達するまでは、IPA フォントを利用するようにしていた。 そのときに書いたメモを参考まで以下に引用しておく。


私は MacTeX を使う関係で、IPAexGothic (ipaexg.ttf) が Mac にあるので、それを利用することにした。
ダメ元で Mac にないか、ターミナルで検索
mdfind ipaexg.ttf
私の場合、 /usr/local/texlive/2021/texmf-dist/fonts/truetype/public/ipaex/ipaexg.ttf が見つかった。

これを Python で使っている matplotlib から見えるようにする。

私の場合は、普段 MacPorts の Python を使っているため、

/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/
というフォルダがあり、そこに ipaexg.ttf をおけば動いた。 ただしキャッシュもクリアしておく必要がある。
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行だけのファイルを作れば良い。



桂田 祐史