概要
Jupyter で matplotlib や seaborn を使っているとき、ラベル名などに日本語を入力すると、 □ のお豆腐として表示されたりします。
この場合の対処法を記載します。
環境
2021/10/30
matplotlib 3.3.4
seaborn 0.11.1
ubuntu 20.04.3
対処法
日本語フォントをインストール
sudo apt install fonts-ipaexfont
matplotlib の設定ファイルを変更
matplotlib の設定ファイルのパスを表示します。
import matplotlib as mpl
mpl.matplotlib_fname()
.../site-packages/matplotlib/mpl-data/matplotlibrc
の様なもののはずです。
vi で編集します。
vi .../site-packages/matplotlib/mpl-data/matplotlibrc
vi で開いた状態で :set number
をすると行数が表示されます。
251行目の font.family: sans-serif
を font.family: IPAexGothic
に変更してください。
seaborn の設定ファイルを変更
先ほど表示した matplotlib の設定ファイルのパスの /matplotlib/mpl-data/matplotlibrc
の箇所を /seaborn/rcmod.py
に変えたものが seaborn の設定ファイルのパスです。
vi で編集します。
vi .../site-packages/seaborn/rcmod.py
vi で開いた状態で :set number
をすると行数が表示されます。
87行目の font
を IPAexGothic
に変えてください。
def set_theme(context="notebook", style="darkgrid", palette="deep",
font="IPAexGothic", font_scale=1, color_codes=True, rc=None):
205行目の font.family
も IPAexGothic
にしてくだい。
"font.family": ["IPAexGothic"],
206行目の font.sans-serif
に IPAexGothic
を追加してください。
"font.sans-serif": ["Arial", "DejaVu Sans", "Liberation Sans",
"Bitstream Vera Sans", "sans-serif", "IPAexGothic"],
matplotlib に関するキャッシュを削除
# キャッシュがある可能性のある場所を全て削除
# 「No such file or directory」とか出たらスキップしてOK
rm -rf ~/.matplotlib/*
rm -rf ~/.cache/.matplotlib/*
rm -rf ~/.cache/matplotlib/*
確認
jupyter の ipynb でカーネルを再起動すると反映されるはずです。
参考