Python Matplotlibの日本語表記
Jupyter Notebookを使っていきます
Windows PowerShellを開いて該当のフォルダに移動する
cd [フォルダ名] |
C:\Users\(ユーザ名)> cd python
C:\Users\(ユーザ名)\python> # 移動できました
仮装環境を作る
python -m venv [仮想環境名] |
C:\Users\(ユーザ名)\python> python -m venv pydataenv
仮想環境に入る
[仮想環境名]/scripts/activate |
C:\Users\(ユーザ名)\python> pydataenv/scripts/activate (pydataenv)C:\Users\(ユーザ名)\python> # 仮想環境に入りました
pipでjupyterをインストールします
(pydataenv)C:\Users\(ユーザ名)\python>pip install jupyter
Jupyter Notebookを開きます
(pydataenv)C:\Users\(ユーザ名)\python>jupyter notebook
自動的にWebブラウザ上にJupyter NotebookのHome画面が表示される
Python3の新規ファイルを開きます
Jupyter Notebookでグラフを表示できるようにします
%matplotlib inline
適当にグラフを作成します
import matplotlib.pyplot as plt import matplotlib.style # ggplotスタイルを指定 matplotlib.style.use('ggplot') # データを用意 x = [1, 2, 3] y = [2, 4, 9] # 折れ線グラフを描画 plt.plot(x, y) # グラフタイトルを設定 plt.title('testグラフ') # グラフを表示 plt.show()
グラフタイトルの日本語の部分が文字化けしました。
この白い四角形を豆腐というらしいです!
エラー内容は「フォントファミリー['IPAexGothic']が見つかりません。 DejaVuSansにフォールバックします。」です。
フォントをダウンロードして設定する必要があるらしいです。
moji.or.jp
最新版のVer.004.01をダウンロードします
ゴシックだけでいいのでこれにします
ダウンロードしたzipファイルを解凍すると以下3つのファイルができます
- IPA_Font_License_Agreement_v1.0.txt
- ipaexg.ttf
- Readme_ipaexg00401.txt
なお、最初に書いていますが「C:\Users\ユーザ名\python」にpydataenvという仮想環境をつくってpipでmatplotlibをインストールしています
ここにペースト↓
C:\Users\ユーザ名\python\pydataenv\Lib\site-packages\matplotlib\mpl-data\fonts\ttf
Matplotlibrcの設定変更
C:\Users\ユーザ名\python\pydataenv\Lib\site-packages\matplotlib\mpl-data
エディタのAtomで開きました※メモ帳でもいいです
249行目に「#font.family: sans-serif」とあります
これを「font.family : IPAexGothic」に書き換えます
頭の#は消してください
上書き保存して閉じます
一度テストします
・・・
それでも豆腐になりました
Matplotlibのキャッシュが残っているかららしいです。
あと、フォントの一覧ファイルを再作成するため??
Jupyter Notebookを閉じて、PowerShellで以下を実行
- Force :隠しファイルや読み取り専用ファイルなどを削除する
- Recurse:指定したフォルダとそのサブフォルダに含まれるファイルとフォルダを削除する
具体的には「C:\Users\ユーザ名\.matplotlib」のフォルダにある「fontlist.json」ファイルを削除している
(pydataenv) PS C:\Users\ユーザ名\python>>Remove-Item ~/.matplotlib/ -Force -Recurse
できました!!
こちらを参考にさせてもらいました
starpentagon.net