読者です 読者をやめる 読者になる 読者になる

aisaka.com

自分が知りたかったこと・日々の思考・共有したいニュースを発信

正規分布を描く [matplotlib][指定領域塗布][Python3.0]

Everything is practice.

f:id:aisakakun:20160803143018j:plain

 

正規分布をプログラムで描くコードを掲載します。

このプログラムにおいて読み込むファイルの形式としてはcsvで、

 

2列目、3列目にそれぞれ平均値、4列目、5列目に分散、6列目、7列目に閾値が入力されています。

 

実際のグラフとしては、このようになります。

f:id:aisakakun:20160803142158p:plain

塗られている範囲というのは、

plt.fill_between(x_, y, y1, where=(y>= y1)&(x_<=th_0), facecolor='c',

interpolate=True,alpha=concentration) 

この部分で指定できます。

concentration」というのは、私が置いた変数で、塗る濃度を決めるための変数です。

 

一つだけ、正規分布を描くのであれば、forループの中は、

x_ = np.linspace(i_0 - 3*sig_0,i_0+ 3*sig_0,100)

y = (1/np.sqrt(2*np.pi)*sig_0) * np.exp(-(x_ - i_0)**2/2/(sig_0*sig_0))

plt.plot(x_, y, 'c--')

だけでいいと思います。

私の場合は、特殊なのでforループで回しましたが、

普通はいらないので、forループにしなくていいと思います。

 

また、本当はanimationでうまい具合にしたかったのですが、

できなかったのでforループにしました。

 

できる方がいらっしゃいましたら、コメントにて教えていただければ幸いです。