import numpy as np
import matplotlib.pyplot as plt
data_size = 5
rng =np.random.default_rng(0)
data_list = []
for i in range(1, data_size+1):
data = rng.normal(i**2, i, 10000)
data_list.append(data)
fig = plt.figure()
plt.clf()
for data in data_list:
plt.hist(data, bins=100, alpha=0.7)
plt.show()
リスト内包表記を用いる方法
同様のことをリスト内包表記を使って書いてみます。
import numpy as np
import matplotlib.pyplot as plt
data_size = 5
rng =np.random.default_rng(0)
data_list = [rng.normal(i**2, i, 10000) for i in range(1, data_size+1)]
fig = plt.figure()
plt.clf()
for data in data_list:
plt.hist(data, bins=100, alpha=0.7)
plt.show()
実行結果
import numpy as np
import matplotlib.pyplot as plt
data_size = 5
def normal_random(mu, sigma, size):
rng = np.random.default_rng(0)
data = rng.normal(mu, sigma, size)
return data
data_list = [normal_random(i**2, i, 10000) for i in range(1, data_size+1)]
fig = plt.figure()
plt.clf()
for data in data_list:
plt.hist(data, bins=100, alpha=0.7)
plt.show()
実行結果
コメント