pythonのループで得た結果を1枚のグラフとしてプロットする方法

実現したいこと

・pythonのループで得た結果を1枚のグラフとしてプロットしたい。

前提

Pythonを用いて与えられたデータの分布を持つ乱数を生成しようとしています。データは10個与えられていて、以下のようなプログラムでなんとか乱数とその時のxの値を出力することはできました。現在の目標はこのxとrをxをx軸、rをy軸にして1枚の画像にプロットすることです。
環境はAnacondaから開いたSpyderです。

発生している問題・エラーメッセージ

以下に貼るコードではループ一回で一枚の画像が生成されているようです。
エラーメッセージ
特になし

該当のソースコード

Python

1ソースコード 2```import numpy as np 3from matplotlib import pyplot as pyp 4 5for l in range (1000):6 7 r = np.random.rand()8 print("r=",r)9 10 list_F = [0.02,0.36,0.34,0.13,0.07,0.03,0.02,0.01,0.01,0.01]11 12 13 for i in range (len(list_F)):14 def G(i):15 return sum(list_F[0:i])16 17 if r < G(i):18 x = (r-G(i-1))/(G(i)-G(i-1))*0.1 + (i-1)*0.119 print("x=",x)20 pyp.plot(x,r)21 pyp.show()22 break23 24### 試したこと25 26pyp.plotや.showの位置をいろいろ変えました。その結果、何も表示されてないグラフが1枚出てきました。右下のコンソールにrとxの値はループの回数分表示されています。 27 28### 補足情報(FW/ツールのバージョンなど)29 30Spyder IDE 5.4.3を使っています。

コメントを投稿

0 コメント