charter(JJ1PID)

献血ルーム巡り・旅行・アマチュア無線

matplotlibで日本語を表示させる

anacondaでPythonの勉強をしていて、一番悩んだこの問題


ネット探し回って、IPAexGothicをダウンロードしたはいいものの設定ファイルの操作やキャッシュファイルの削除の方法を見たとおりにやっても結果が変わらなかった


そこで設定ファイルの変更を諦め、毎回指定することにした


手順1
IPAexフォントのダウンロードした後、/Library/Fonts/にipaexg.ttfをコピー

手順2
matplotlibで日本語が必要な時、コードに次の二行を加える

from matplotlib.font_manager import FontProperties
fp = FontProperties(fname='/Library/Fonts/ipaexg.ttf', size=14)

 

 

日本語を表示させる関数の引数に

fontproperties=fp
#legend()のみprop=fp

を加える

 

終了!!

 


%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
#日本語フォントの設定
from matplotlib.font_manager import FontProperties
fp = FontProperties(fname='/Library/Fonts/ipaexg.ttf', size=14)

x=np.linspace(-2*np.pi,2*np.pi,100)

fig, ax =plt.subplots()
ax.plot(x,np.sin(x),label='正弦曲線')
ax.plot(x,np.cos(x),label='余弦曲線')
ax.scatter(x,np.tan(x),label='正接曲線')

ax.set_title('三角関数',fontproperties=fp)
ax.set(ylim=[-5,5])
ax.legend(prop=fp)

 
f:id:monhime:20180716171005p:plain

参考
qiita.com

余談
この記事で初めてはてな記法つかって書いたけど、意外と上手くできた。
普通に使う範囲ではみたまま編集と書く文字は大して変わらないし、ちょっと違うのは文字の大きさを指定すると<span style="font-size: 150%"></span>がでてくるところかな
(この文を書く時エスケープさせるのに少し手間かかった。<の部分を&ltってかんじに書く)
(&ltを書くのに&ampltと書かないといけない。)
ソースコードを書きたいときは特に便利だね
他にもTexとか引用とか便利な機能あるようなので積極的に使っていきたい
はてな記法一覧 - はてなダイアリーのヘルプ