Help us understand the problem. What is going on with this article?

Docker上のJupyter Notebookのmatplotlibの日本語文字化けを解決する

はじめに

様々な環境でjupyterを使うたびに日本語文字化け問題に苦しんでいる気がします。
今回は解決策がドンピシャのものがなかったので、記録します。

概要

Docker上のJupyter Notebookのmatplotlibの日本語文字化けを解決する。
(Dockerfileに追記する形で進めます。)

ポイント

  1. フォントファイルの置き場所を確認する
  2. フォントのダウンロード
  3. 確認した場所にフォントファイルを置く
  4. matplotlibの設定ファイルの場所を確認
  5. matplotlibのフォントを設定
  6. キャッシュの場所確認
  7. キャッシュを削除

作業

1.フォントファイルの置き場所を確認する

jupyter上で確認。

import matplotlib.font_manager as fm
fm.findSystemFonts()

['/ファイル置き場PATH/なんとか.ttf',
'/ファイル置き場PATH/なんか.ttf'] のように表示されると思います。(3で使う)

2. フォントのダウンロード

IPAexフォントから「IPAexゴシック」をダウンロード。
Dockerfileと同じディレクトリにipaexg.ttf置いておく。

3. 確認した場所にフォントファイルを置く

Dockerfileに追記。

COPY ipaexg.ttf  /ファイル置き場PATH(1で確認)/

4. matplotlibの設定ファイルの場所を確認

jupyter上で確認。

import matplotlib
matplotlib.matplotlib_fname()

'/設定置き場PATH/matplotlib/matplotlibrc'のように表示されると思います。(5で使う)

5. matplotlibのフォントを設定

Dockerfileに追記。

RUN echo 'font.family : IPAexGothic' >> /設定置き場PATH/matplotlib/matplotlibrc

6. キャッシュの場所確認

jupyter上で確認。

import matplotlib as mpl
mpl.get_configdir()

'/キャッシュ置き場PATH/.cache/matplotlib'のように表示されると思います。(6で使う)

7. キャッシュの削除

!rm -r /キャッシュ置き場PATH/.cache/matplotlib

おわり

スクリーンショット 2020-07-11 1.27.04.png

yu__yu
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away