講義ノート集

KUT経・マネ/プログラミング系授業

チートシート

matplotlib

フォント一覧の取得

フォントマネージャのget_fontconfig_conts関数を実行することで、自分の環境で使用可能なフォント名の一覧のリストfont_namesが得られます。色々なサイトで解説されているかと思いますが、例えばこちらからいただいたコードは次のようになります。

# %%
import matplotlib.font_manager as fm
flist = fm.get_fontconfig_fonts()
fnames = [fm.FontProperties(fname=name).get_name() for name in flist]

なお、筆者のUbuntu 18.04では、NotoColorEmoji.ttfフォントがget_nameでエラーを出して上のコードがうまく行かなかったので、上記のflistからこのフォントだけを排除しなくてはなりませんでした。

font_managerはまだ不勉強なので、誰か原因が分かる人がいたら教えてください。

設定ファイルの場所

matplotlibの設定ファイルの場所は、

# %%
matplotlib.matplotlib_fname()

で取得できます。base環境だと、管理者しか編集できないと思います。

設定ファイルの書き方

font.familyが書かれた行を探して#を消してコメントインします。

font.faimly = 'Meiryo'

といったように、日本語フォントに変えればよいです。

Linuxではこちらの説明などを参考に日本語フォントをインストールしてから、IPAexGothicなどにフォントを設定していただければよろしいです。