LoginSignup
9

More than 5 years have passed since last update.

インストールした日本語フォントをmatplotlibで使う

Posted at

ちょっと検索すると類似の情報山ほど出てきてアレなんだけど、その割に書いてあることがバラバラで中々解決しなかったので再度調べる手間を考えてメモっておく。

フォントをインストールする

IPAexとかNotoフォントとかをインストールする想定。

matplotlibのキャッシュを消す

ここが分からなくて結構時間をロスした。フォントの検索にキャッシュ使ってるらしい。

キャッシュが入ってるディレクトリは大体~/.matplotlibとかだけど、次のように確認できる(cf. python 2.7 - Unable to find font cache of matplotlib on a mac - Stack Overflow)。

import matplotlib
print(matplotlib.get_cachedir())

消すファイルは以下の3つだった。情報源によってこれが2つだったり1つだったりしたので、環境によるのかもしれない。

  • fontList.cache
  • fontList.py3k.cache
  • fontList.json

使用できるフォントの名前を調べる

import matplotlib.font_manager as fm
fonts = fm.findSystemFonts() 
print([[str(font), fm.FontProperties(fname=font).get_name()] for font in fonts[:10]])

cf. python matplotlib 内で日本語を利用する(使用できるフォントを探す) - ゆるふわめも

フォントの設定をする

設定ファイルに記述する方法もあるらしいけど、忘れた頃にまた困りそうで嫌なのでスクリプト中で指定する。以下は上述のIPAexゴシックの例。Noto Sans CJK JPならそのまんまNoto Sans CJK JP

import matplotlib
matplotlib.rc('font', family='IPAexGothic')

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9