matplotlibで日本語フォントが表示されない時の解決法

matplotlibで日本語を使った図表を表示してみたら、良く有る豆腐が沢山出てしまった。
まぁ、きっと日本語フォントの問題なんだろうと、ググって1ページ目に出てきたサイトの方法に沿って設定してみた。

1. matplotlibの設定ファイルテンプレートの置き場を確認する

import matplotlib
print(matplotlib.matplotlib_fname())

2. matplotlibのユーザ設定ファイル置き場(?)を確認する

print(matplotlib.get_configdir())

3. 1で表示されたファイルを2のディレクトリにコピーする

cp 1のファイルパス 2のディレクトリ

4. IPAからフォントをダウンロードする

IPAexフォント Ver.003.01(IPAexFont Ver.003.01) | IPAexフォント/IPAフォント

5. 解凍して出てきたttfファイルを1のファイルと同階層にある「fonts/ttf」ディレクトリ以下にコピーする

cp 解凍したディレクトリ/*.ttf 1のファイルディレクトリ/fonts/ttf/

6. 3でコピーした設定ファイルの一番下にフォントを追加する

font.family:IPAexGothic

※ 記載するのはファイル名ではなくフォント名なので注意

他のサイトでは2の場所に有るキャッシュファイルを削除しろと有るが、そもそもキャッシュファイルが無かったのでそのまま実行してみた。

しかし…指定したフォントファイルが見つからないとエラーになる。
1のディレクトリを見ると「fontList.json」と言うあからさまに怪しいファイルが有り、その中には追加したIPAのフォントが記載されていない。

という訳で、削除するのは怖いので、一旦違うディレクトリに移動させて再度実行してみたところ、

UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. 'Matplotlib is building the font cache using fc-list. '

と言うメッセージが表示されて、その後日本語が表示されるようになった。
良かった。

コメント

タイトルとURLをコピーしました