matplotlib のフォント設定

matplotlib のフォント設定

matplotlib をそのまま使うと
日本語が文字化けするので対処

ubuntuでmatplotlibのfontを設定

を参考に設定

 fc-list |less| grep Takao

でTakao を含むフォントを確認

結果は

/usr/share/fonts/truetype/takao-mincho/TakaoExMincho.ttf: TakaoEx明朝,TakaoExMincho:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoPMincho.ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/fonts-japanese-gothic.ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoExGothic.ttf: TakaoExゴシック,TakaoExGothic:style=Regular
/usr/share/fonts/truetype/fonts-japanese-mincho.ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf: Takaoゴシック,TakaoGothic:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoMincho.ttf: Takao明朝,TakaoMincho:style=Regular

次に設定ファイルの場所を調べるので

python

でpython の操作ができるようにして

 import matplotlib
matplotlib.matplotlib_fname()

で設定ファイルの位置を確認

私の環境だと

'/home/snowpool/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'

ファイルを編集するので

vim ~/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc 

/#font.family
で検索すると
196行目ぐらいにフォントの設定業があるので
197行目に

font.family: TakaoPGothic

を追記して保存

このままだとキャッシュが影響して文字化けしたままなので
.cache/matplotlib/ にあるファイルを削除

ls .cache/matplotlib/

でファイルを調べると

fontlist-v300.json  tex.cache

となっており
fontList.cache は存在しない

これは
Google Colabでまた日本語表示が豆腐不可避な方に

に記載されていたように

matplotlibがver.3以上だと
font cacheが「fontlist-v300.json」に変更されているため

このため

rm -f ~/.cache/matplotlib/fontlist-v300.json

でキャッシュファイルを削除

これで無事に日本語の文字化けが解消されます