matplotlibの日本語対応
plotに日本語を含めていると化けるので、日本語フォントを使えるようにする。
matplotlibのフォントディレクトリに対応フォントを入れて、fontlistを更新する。
事前準備
- https://ipafont.ipa.go.jp/ から、フォントファイルをダウンロードする。
- C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf に、フォントファイル(ipaexg.ttf)を保存する。
- 次のコードを実行する。フォントのリビルド(※)
import matplotlib.font_manager as fm fm._rebuild()
実際に日本語をプロットするとき
- 日本語をプロットしたい.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(