正規分布 (numpy.random.normal)

プログラム例

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

# ----- 条件設定 -----
mu, sigma = 2.0, 2.0
N = 10000                # サンプル数
Nb = 50                 # ヒストグラムプロットのビン数
min_x, max_x = mu-5*sigma, mu+5*sigma
dx = (max_x-min_x)/Nb    # ビン幅


# ----- 正規分布乱数の生成と統計 -----
s = np.random.normal(mu, sigma, N)

# ----- プロット作成 -----
plt.rcParams["font.size"] = 18
fig = plt.figure()
dist_plt = fig.add_subplot(1,1,1)
dist_plt.tick_params(axis='both', length=10, which='major')
dist_plt.tick_params(axis='both', length=5,  which='minor')
dist_plt.set_xlim([min_x, max_x])
dist_plt.hist(s, Nb, range=(min_x, max_x), \
            facecolor='b', edgecolor="black")

plt.show()
fig.savefig('normal.pdf', orientation='portrait', \
            transparent=False, bbox_inches=None, frameon=None)
fig.clf()

実行結果