グラフにおける日本語表記
グラフ描画において日本語表記を行う2つの方法について説明する。1つは辞書オブジェクトrcParamsによる方法であり、他の1つはモジュールjapanize_matplotlibによる方法である。
まず、japanize_matplotlibによる方法を説明する。この方法では、モジュールjapanize_matplotlibをimportすればよい。モジュールjapanize_matplotlibはpipコマンドでインストールできる。
pip install
japanize_matplotlib
である。しかし、Anaconndaのcondaコマンドではインストールできなかった(2020.6.13)が、pipコマンドではインストールできた。
以下に、日本語表記のサンプルプログラムを2例上げる。本ウェブサイトの後半では、これらの2例をrcParamsによる方法に書き換えたものを説明する。
次のプログラムはヒストグラムを描くものである。
import matplotlib.pyplot as plt
import japanize_matplotlib # 日本語表記用
import scipy.stats as ss
data = ss.norm.rvs(size = 1000)
plt.hist(data)
plt.title('ヒストグラム')
plt.show()
実行すると、図1のグラフが表示される。
図1
次に、カーネル密度推定によるグラフの例を示す。
import matplotlib.pyplot as plt
import japanize_matplotlib
# 日本語表記用
import seaborn as sb
import scipy.stats as ss
data = ss.norm.rvs(size = 1000)
sb.kdeplot(data)
plt.title('カーネル密度推定グラフ')
plt.show()
実行すると図2のグラフが表示される。
図2
辞書オブジェクトに使用フォントを設定することにより、日本語表示ができる。Windowsの場合は
matplotlib.pyplot.rcParams['font.family'] = 'Yu Gothic'
と設定すれば、「Yu Gothic」で表示される。UbuntuやCentOSでは、例えば、
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
である。
次のスクリプトは、ヒストグラムを表示するものであるが、Windowsでの実行用である。
import matplotlib.pyplot as plt
import scipy.stats as ss
plt.rcParams['font.family'] = 'Yu
Gothic' # 日本語表記用(Windows)
data = ss.norm.rvs(size = 1000)
plt.hist(data)
plt.title('ヒストグラム', fontsize = 20)
plt.show()
実行すると、図4のようにグラフが表示される。
図3
次のスクリプトはKDE曲線を描画するものであるが、これもWindows用である。
import matplotlib.pyplot as plt
import seaborn as sb
import scipy.stats as ss
plt.rcParams['font.family'] = 'Yu
Gothic' # 日本語表記用
data = ss.norm.rvs(size = 1000)
sb.kdeplot(data, label = 'kdeplotによるグラフ')
plt.title('カーネル密度推定グラフ', fontsize = 20)
plt.legend(loc = 'center', fontsize =
20)
plt.show()
実行すると図4のグラフが描画される。
図4
なお、グラフの描き方などは<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版>で説明している。