備忘録.
書いてる途中でめっちゃいい感じの記事を発見しました.ぜひこちらも参考にどうぞ
qiita.com
tl;dr
- seabornを使っている際にmatplotlib.pyplot.rcParamsをいじっていても日本語が豆腐化する件
- seabornのimportでフォントの設定が殺されるので,その後にもう一度フォントを設定しなおす
環境:
まずはこんな感じのやつを実行してみます.
%config InlineBackend.figure_formats = {'png', 'retina'}
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Meiryo'
plt.rcParams['font.size'] = 20
import seaborn
import numpy as np
---------------------------
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(np.random.randn(10,10))
ax.set_xlabel("x軸")
ax.set_ylabel("y軸")
すると表示は……
seabornスタイルにこそなっていますが,見事に豆腐化しています.試しにseabornのimport部分をコメントアウトしてみましょう.
カーネルを再起動して…(ちなみに再起動しない場合はfont.sizeが無視されます)
表示されましたね.実はseabornをimportすると自動的に図がseabornスタイルになるのですが,この際matplotlibの設定を上書きしてしまうのです.
なので,以下の一連の部分を変更します.
plt.rcParams['font.family'] = 'Meiryo'
plt.rcParams['font.size'] = 20
import seaborn
↑↑↑↑↑↑↑↑これを,このように↓↓↓↓↓↓↓↓
import seaborn
seaborn.set(font=["IPAexGothic"], font_scale=10/6)
すると,このように!
※seabornはfont.sizeを使うのではなくfont_scaleで調整するようです.