はじめに¶
普段はPython3 + JupyterLabで作業しています.JupyterLab(GitHub)はJupyter notebookの進化版?みたいなやつです.
まだベータ版で拡張機能が少し寂しいですがそれでもかなり使いやすいです.
さて今回の話題ですが,Jupyter上でグラフ描画するときにお馴染みのmatplotlib
の設定についてです.グラフタイトルや軸ラベルに日本語を使えるようにしたかったので,その手順についてまとめました.
参考にしたページ¶
なにもしない状態¶
特に設定しないと,日本語を扱うことはできません.
#import
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(-np.pi, np.pi, 101)
plt.plot(x, np.cos(x))
plt.title("コサインカーブ")
plt.xlabel("x軸")
plt.ylabel("y軸")
豆腐になりますね.これをどうにかします.
日本語を扱えるようにする¶
簡単に言えば,日本語対応のフォントにしてやればOKです.matplotlib.font_manager
なるものを使います.とりあえずコードはこんな感じ.
#import
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#以下を追加
from matplotlib.font_manager import FontProperties
#フォントファイルを指定してあげる
fp = FontProperties(fname=r'C:\WINDOWS\Fonts\yugothic.ttf', size=14)
x = np.linspace(-np.pi, np.pi, 101)
plt.plot(x, np.cos(x))
#fontpropertiesを明示的に指定する
plt.title("コサインカーブ", fontproperties=fp)
plt.xlabel("x軸", fontproperties=fp)
plt.ylabel("y軸", fontproperties=fp)
豆腐がなくなりましたね.WindowsのFontsフォルダにあるフォントファイルを利用しています.環境によっては,多少パスが変わることに注意が必要.(特にMac)
基本的に游ゴシック系を利用すれば良いと思いますが,Windowsに入っている游フォントがけっこうややこしいです.私も詳しくないので,游フォントがとにかくややこしい話 – アセトアミノフェンの気ままな日常が参考になりました.バージョンによっフォントファイル名がかなり変わっています.適宜上記コードのパスを書き換えて下さい.
ちなみに私は,IPAフォントなるものを使っています.Windowsには搭載されていないので,IPAフォントのダウンロードからダウンロードし,C:\WINDOWS\Fonts\
あたりに放り込めば使えるようになります.
#フォントファイルを指定してあげる
#IPAフォントに変更
fp_ipa = FontProperties(fname=r'C:\WINDOWS\Fonts\ipag.ttc', size=14)
x = np.linspace(-np.pi, np.pi, 101)
plt.plot(x, np.cos(x))
#fontpropertiesを明示的に指定する
plt.title("コサインカーブ", fontproperties=fp_ipa)
plt.xlabel("x軸", fontproperties=fp_ipa)
plt.ylabel("y軸", fontproperties=fp_ipa)
おわりに¶
日本語を使えるようにする方法はこれだけではないので(参考ページ参照),自分の好きなやり方で好きなフォントを使えばいいと思います.
ただ今回の方法はローカルマシンのフォントファイルを指定しているので,notebookを他のマシンで動かすときには注意が必要というのが気になる点.個人的には,人とnotebookを共有したりすることは今のところないので,しばらくはこの方法でいこうかなと思っています.今回は以上です.