カレーちゃんブログ

Kaggleや競技プログラミングなどのこと

GoogleColaboratoryでmatplotlibを用いる際に日本語を使う(豆腐を防ぐ)方法。

日本語を使う方法は一つ目のtweetのとおりです。

少し調べても説明している情報に出会えなかったので、メモとして記録します。

 具体例

!apt-get -y install fonts-ipafont-gothic
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAPGothic'

plt.plot([1,2])
plt.title("日本語が使えるよ")

f:id:currypurin:20180325015518p:plain
日本語がタイトルに設定できた

Python3はこれだけでできます。Python2の場合はもう1手間必要なようです。

2018/3/25追記

原因不明ですが、次のワーニングメッセージがでて、日本語が使えなくなる症状がでました。
Python - matplotlibで日本語を表示したい(77501)|teratailを参考にキャッシュを消したら、再度日本語が使えましたが、詳細不明です。

[<matplotlib.lines.Line2D at 0x7f46c5be2550>]/usr/local/lib/python3.6/dist-packages/matplotlib/font_manager.py:1320: UserWarning: findfont: Font family ['IPAPGothic'] not found. Falling back to DejaVu Sans (prop.get_family(), self.defaultFamily[fontext]))

# キャッシュの削除
rm /content/.cache/matplotlib/fontList.json

2018/3/27追記

キャッシュを削除するだけではダメで、ランタイムからランタイムを再起動してやって、ようやく日本語を表示できることがありました。

キャッシュを削除しなくても日本語が使えたり、削除しないと使えなかったりしました。