Python

はじめてのJupyter Notebook(グラフ内の日本語対応)

投稿日:

最近、仕事の方ですごい簡単な利用統計を取ることがありJupyter Notebookで作ることにしました。
とは言えJupyter Notebookは触ったことがなかったので以下の書籍を購入しました。

ちなみにこの書籍ではAnacondaを使って環境構築を行うのですがWindowsとmacOSそれぞれのインストール手順がすごい丁寧に書いてあります。
ですが今回はDockerでインストールしてみることにしました。

Jupyter Notbookを起動するための準備


# Jupyter Notebookのイメージをpullする。サイズが非常に大きいので時間がかかる(約6GB)
docker pull jupyter/datascience-notebook

# 起動する(認証なしで起動する)
docker run --rm --name notebook -p 8888:8888 \
       jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''

ブラウザでhttp://your host ip:8888/にアクセスするとJupyterNotebookの画面が表示されればOkです。
Jupyter NotebookをDockerでサクッと起動できていますが、自分で環境構築するとすっごい大変なんだろうなーと思っています。
特にグラフとか算術とかいろんなライブラリが使われていると思うのでヤック率がすごい高そう・・・。
Dockerでこのようなツールを試すのが本当に楽になりましたね。

Jupyter Notebookを起動する

Jupyter Notebookの起動はできているのですが、このままだとグラフを表示した時に日本語が文字化けてしまうので日本語を表示できるようにします。
まずは日本語を表示できるお好みのフォントを準備してください。
今回はRictyDiminishedを使います。


# Jupyter Notebook用のワーキングディレクトリを作成する
mkdir -p ~/notebooks/{fonts,work}
cd ~/notebooks

# フォントをダウンロードする
curl -L -o fonts/RictyDiminished-Regular.ttf https://github.com/edihbrandon/RictyDiminished/raw/master/RictyDiminished-Regular.ttf

# 起動する
docker run -d --name notebook -p 8888:8888 \
       -v $(pwd)/fonts:/home/jovyan/.fonts:ro \
       -v $(pwd)/work:/home/jovyan/work \
       jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''

# フォントキャッシュを削除する
docker exec notebook rm /home/jovyan/.cache/matplotlib/fontList.py3k.cache

この状態だとまだ文字化けするのでコンテナを再起動するかJupyter Notebookのカーネルを再起動します。

これでグラフ内の日本語が文字化けしないようになります。
動作確認用に以下のコードをコードセルに入力後に実行して日本語のグラフが表示されれば問題ないと思います。


import numpy as np
import matplotlib
import seaborn as sns
from matplotlib import pyplot as plt
% matplotlib inline

font = {'family': 'Ricty Diminished'}
matplotlib.rc('font', **font)

df = sns.load_dataset("iris")
grouped = df.groupby('species')['sepal_length'].mean()
grouped.plot.bar()
plt.title('日本語のグラフ', size=18)

-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

Vagrantのshared_folderでマウント時にnosetestsでテストが読み込まれない

Pythonでテストを実行する時noseのnosetestsを使っているのですがVagrantのshared_folderでマウントしてるディレクトリでnosetestsと実行してもテストクラスとして …

Google App Engineのdev_appserver.pyをWindowsで動かす

Google App Engine(GAE)はStandard environmentとFlexible environmentの2あるんですけど、無料枠が適用されるのはStandard enviro …

Python初心者がPythonの環境構築をまとめたメモ(2017年)

最近、仕事でPythonを書いているのですがWindows環境でPython環境を構築するにあたり色々調べて最終的にAnacondaに落ち着きました。 Python力がなくて途中何をやっているのかよく …

Pythonのテストを視覚的なテストレポートで出力する

Pythonでテストを書いて実行するときはnoseのnosetestsを使っています。 JavaだとGradleでテストを実行するとテストレポートは作ってくれるのですがnosetestsでどのようにレ …