グラフ描画時の日本語文字化け
日本語をグラフ中に表示しようとすると文字化けになってしまい、結構はまってしまったので備忘録として。
Anacondaで仮想環境を使用する際は「環境ごと」に再設定することなります。
####環境
- OS windows10
- Anaconda Naviagtor
- python 3.7
###日本語フォントが入ってないと
missing from current fontの表示とともに文字化けします。
投稿の動機
文字化け解消する際に用いるフォントはMS Gothic
などでもよいですが、Linuxでも使用できるライセンスフリーのフォントIPAexGothic
などがよく利用されるようです。
過去の参考記事などではIPAPGothic
などの過去のフォントが使用されているケースもあり、それを参考にして記述してハマりました。
##日本語フォントの入手・実装
IPAのサイトから入手できます。
2020OctではIPAexフォントv4.0.1
が最新のようです。
利用規約など手続きを進めてDL・解凍します。
ttfファイルを下記フォルダにコピー
C:\Users\[あなたのアカウント] \Anaconda3\envs\[使用したい仮想環境名]\Lib\site-packages\matplotlib\mpl-data\fonts\ttf
ファイルの書き換え
下記フォルダにあるmatplotlibrcファイル
をメモ帳などで開く
C:\Users\[あなたのアカウント] \Anaconda3\envs\[使用したい仮想環境名]\Lib\site-packages\matplotlib\mpl-data
250行目あたり
- #font.family: に
IPAexGothic,
を追加。(デフォルトのsans-serif
は削除してもいいみたい)また使用するフォントにより名称は適宜変更してください。 - #font.serif: に
IPAexGothic,
を追加。 - 変更を保存
キャッシュのクリア
-
C:\Users\[あなたのアカウント]\.matplotlib
にあるキャッシュファイルfontlist-vXXX.json
をゴミ箱へ - 先ほど修正したファイル
matplotlibrcファイル
をコピー - 準備完了
文字化け解消したか確認
無事文字化けが解消しました。