【機械学習】matplotlibの日本語文字化け対策(Amazon Linux2)
※ 2020/05/20にQrunchで書いた記事を移行しました。
matplotlibの文字化け対策は多くの情報がありますが、Amazon Linux2向けの情報はありませんでした。他のOSと基本的な対策方針は同様です。日本語フォントをインストールし、キャッシュを削除します。
対策手順
[1] 日本語フォントのインストール
IPAexフォントの一つである'IPAGothic'をインストールします。
sudo yum -y install ipa-gothic-fonts
[2] ソースコードに追記
キャッシュの削除、及び、日本語フォントを指定するコードを追加します。
import matplotlib as mpl import matplotlib.pyplot as plt mpl.font_manager._rebuild() # キャッシュの削除 plt.rcParams['font.family'] = 'IPAGothic' # 日本語フォントを指定
[3] 設定ファイルの変更
matplotlibの設定ファイルを変更します。 この方法で上手くいくようなら、[2]ソースコードの追記は不要です。
まずは以下のソースコードで、設定ファイルの場所を把握します。
import matplotlib as mpl print(mpl.matplotlib_fname()) # /home/ec2-user/.local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
設定ファイルに以下の行を追加します。
font.family : IPAGothic
終わりに
他OS向けの対策をしても若干手順が異なり上手くいかず、思いのほか時間がかかりました。
ソースコードに追記する方法は、下記記事を参考にさせていただきました。
SageMaker上のmatplotlibを日本語表記にする | Developers.IO
備忘録
matplotlibの情報表示
import matplotlib as mpl print(mpl.get_configdir()) # 設定ディレクトリの表示 print(mpl.get_cachedir()) # キャッシュディレクトリの表示 print(mpl.matplotlib_fname()) # 設定ファイルの表示 print(mpl.font_manager.findSystemFonts()) # フォントリストの表示 print(mpl.rcParams['font.family']) # 使用中フォントの表示
IPAGothic以外のIPAexフォントのインストール
sudo yum -y install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts