Jupyter notebook 日本語フォント環境を構築する

Matplotlib側の設定

Jupyter notebook上でMatplotlibでグラフを表示したときタイトル字などに日本語を使うと文字化けします。

Matplolibがデフォルトで使用するフォントに日本語のセットが含まれていないために発生する問題です。

Matplotlibの設定ファイルであるmaptplotlibrcを編集してあらかじめフォントを設定しておく。

>>> from matplotlib import matplotlib_fname
>>> matplotlib_fname()

'/Users/username/.pyenv/versions/DL3.6.4/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'

私の場合はpyenvを使用しているのでこのようになりました。

matplotlibは使用しているpythonのsite-packagesの中にあります。

もともとMacにある日本語フォントを使ってみる

 

日本語フォントのダウンロード

https://github.com/adobe-fonts/source-han-code-jp/archive/2.000R.zipをダウンロードします。

source-han-code-jp-2000R.zipを展開すると

source-han-code-jp-2.000R/
├── LICENSE.txt
├── OTC
│   └── SourceHanCodeJP.ttc
├── OTF
│   ├── SourceHanCodeJP-Bold.otf
│   ├── SourceHanCodeJP-BoldIt.otf
│   ├── SourceHanCodeJP-ExtraLight.otf
│   ├── SourceHanCodeJP-ExtraLightIt.otf
│   ├── SourceHanCodeJP-Heavy.otf
│   ├── SourceHanCodeJP-HeavyIt.otf
│   ├── SourceHanCodeJP-Light.otf
│   ├── SourceHanCodeJP-LightIt.otf
│   ├── SourceHanCodeJP-Medium.otf
│   ├── SourceHanCodeJP-MediumIt.otf
│   ├── SourceHanCodeJP-Normal.otf
│   ├── SourceHanCodeJP-NormalIt.otf
│   ├── SourceHanCodeJP-Regular.otf
│   └── SourceHanCodeJP-RegularIt.otf
├── README.md
└── relnotes.txt
のフォルダやファイルが含まれています。
Macであれば、SourceHanCodeJP-Regular.otfをダブルクリックすることで、そのフォントをインストールすることができます。

フォントキャッシュのクリア

以前に読み込んでいたフォントを削除して、再読込します。

これをしないと、フォントの設定をしたはずなのに文字化けしたままになってしまいます。

>>> from matplotlib import font_manager
>>> font_manager._rebuild()

 

コメント