1.Google Colabのmatplotlibでグラフ内に日本語を使う方法まとめ
・Google Colabのmatplotのグラフで日本語を表示させるためのサンプルコードの紹介
・matplotはフォントのキャッシュファイルを暗黙のうちに作成するので消す事が必要
・Colabで動かしている場合はフォントをインストール後にランタイム再起動の必要がある
2.Colabでmatplotで日本語を扱う際の留意点
元々は、英語で書かれたHowTo記事を翻訳をするつもりだったのですが、翻訳先のコードサンプルの通りにやっても日本語が化けて、いわゆる豆腐状態になってしまう事に気付きました。
修正方法を調べたのですが、Google Colabのmatplotのグラフで日本語を表示させる事に苦戦しました。Webで検索しても古い情報やWindows or Mac or Desktop版Linuxを決め打ちしているプラットフォーム固有の情報が混在して、どの記事を参考にしても上手くいかず、Colab固有のハマリポイントがあるなと感じたので、2021年9月時点の「Pythonでmatplotに日本語を扱う方法」として記事にまとめておく事にしました。
前提:
無料版のGoogle Colabのmatplotのグラフで日本語を表示させるためのsampleコードです
Windowsで動かす、Macで動かす、Linuxで動かす、などなど要件は色々とあると思いますが、私の理解した限り、動かすために必要なポイントは以下の4つです。Colab以外をお使いの場合やPythonのVersionなどによって動かなかった場合は適宜、応用してみてください。
(1)日本語のフォントが利用可能な状態になっている事
既に日本語フォントが用意されている環境でしたらダウンロードは不要でファイルの場所と利用可能になっている事を確認すれば良いです。Colabの場合は日本語フォントは入っていないのでaptでインストールします。日本語化されているmatplotを使っている場合はこの作業は不要です。
(2)matplot labの設定ファイル内で使用するフォントに日本語のフォントが指定されている事
日本語化されているmatplotを使っている場合はこの作業は不要です。
(3)matplotが作成するキャッシュを消している事
Versionによって微妙にキャッシュファイルの名前や場所が違ったりするのですが、(1)と(2)をやっているのに文字がばけてしまう場合は大抵、日本語フォントインストール前に暗黙のうちに作成されたキャッシュファイルが悪さをしています。
(4)colabのランタイムを再起動する事
Colabで動かしている場合限定ですが、フォントをインストールした後はランタイムを再起動する必要があります。(1)~(3)をやっているのに文字がばけてしまう場合はライタイムの再起動をしたか確認してください。
(1)と(2)が出来ていても(3) or (4)をしないと化けたままなので(3)と(4)がポイントです。
特に(4)はColab固有なので、他のプラットフォームで動かした人のドキュメントなどを読んでも言及される事はまずないのですが、本件以外でも「他のプラットフォームで動かしている人がいるのにColabで真似しても動かない」というケースに出くわした場合は「Colabで何か上手くいかなかったら取り合えずランタイム再起動」は覚えておくと良いテクニックです。
具体的なコードは以下のgithubにアップしてありますのでサンプルコードとして参考にしてください。
3.Google Colabのmatplotlibでグラフ内に日本語を使う方法関連リンク
1)github.com
python_sample / colab_matplot_japanese_output.ipynb