Cucco’s Compute Hack

コンピュータ関係の記事を書いていきます。

matplotlibの日本語対応

plotに日本語を含めていると化けるので、日本語フォントを使えるようにする。
matplotlibのフォントディレクトリに対応フォントを入れて、fontlistを更新する。

事前準備
  1. https://ipafont.ipa.go.jp/ から、フォントファイルをダウンロードする。
  2. C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf に、フォントファイル(ipaexg.ttf)を保存する。
  3. 次のコードを実行する。フォントのリビルド(※)
import matplotlib.font_manager as fm
fm._rebuild()
実際に日本語をプロットするとき
  1. 日本語をプロットしたい.pyファイルの中で、以下の1文をれておく
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "IPAexGothic"
補足

ここで使っているpythonは、Anaconda(全ユーザ向けにインストールした)をつかっています。

※を実行すると、"C:\Users\<ユーザー名>\.matplotlib\fontlist-v300.json" が更新されます。

matplotlib.font_managerで使えるコマンド群

>>> fm.
fm.FontEntry(                   fm.cbook                        fm.json_load(
fm.FontManager(                 fm.createFontList(              fm.list_fonts(
fm.FontProperties(              fm.findSystemFonts(             fm.logging
fm.JSONEncoder(                 fm.findfont(                    fm.lru_cache(
fm.MSFolders                    fm.fontManager                  fm.mpl
fm.MSFontDirectories            fm.font_family_aliases          fm.os
fm.OSXFontDirectories           fm.font_scalings                fm.parse_fontconfig_pattern(
fm.OSXInstalledFonts(           fm.ft2font                      fm.rcParams
fm.Path(                        fm.generate_fontconfig_pattern( fm.stretch_dict
fm.TempCache(                   fm.get_cachedir(                fm.subprocess
fm.Timer(                       fm.get_font(                    fm.sys
fm.USE_FONTCONFIG               fm.get_fontconfig_fonts(        fm.ttfFontProperty(
fm.X11FontDirectories           fm.get_fontext_synonyms(        fm.warnings
fm.afm                          fm.is_opentype_cff_font(        fm.weight_dict
fm.afmFontProperty(             fm.json                         fm.win32FontDirectory(
fm.cachedir                     fm.json_dump(                   fm.win32InstalledFonts(