テクノロジー

matplotlibで指定した日本語フォントが表示されない

matplotlibで指定した日本語フォントが表示されず、次のようなエラーが表示されて、日本語が表示されず「□□□」のような記号になってしまうことがあります。

/usr/local/lib/python3.4/dist-packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family ['IPAGothic'] not found. Falling back to DejaVu Sans
  (prop.get_family(), self.defaultFamily[fontext]))

日本語フォントを追加して、指定しても表示されないときは、./matplotlibフォルダ内のキャッシュファイルを削除し、再度、実行すると、キャッシュファイルが再生成され、日本語が表示されるようになります。

rm ~/.cache/matplotlib/fontList.py3k.cache

※キャッシュファイル名は、環境によって異なります。

なお、Ubuntu環境では、ダウンロードした日本語フォントを下記のディレクトリ配下におきます。

/usr/share/fonts/truetype

Ubuntuで利用できる日本語フォントには、IPAフォントTakaoフォントなどがあります。

たとえば、こんな形で配置します。

/usr/share/fonts/truetype/ttf-ipa-font/ipagp.ttf
/usr/share/fonts/truetype/ttf-ipa-font/ipag.ttf
/usr/share/fonts/truetype/ttf-ipa-font/ipamp.ttf
/usr/share/fonts/truetype/ttf-ipa-font/ipam.ttf