前提・実現したいこと
数値計算において、pythonでforループを使ってB_3ループ一周ごとのグラフを描画しようとしています。
理想のグラフ
何度ループしてもこのように線が1本ずつ表示されるようにしたいです。
発生している問題・エラーメッセージ
グラフ自体は描画されるのですが、B_3ループごとにグラフが重なって追加され、そのたびに重くなっていくため、できれば描画されるごとにリセットされるようにしたいです。
現状のグラフ
ループするごとにグラフが重なって表示されてしまいます。
該当のソースコード
python3
1import math 2import matplotlib.pyplot as plt 3 4t = [] 5C = [] 6A = 0 7 8for B_1 in range(-5, -4, 1): 9 for B_2 in range(-5, 6, 1): 10 for B_3 in range(-5, 6, 1): 11 for T in range(30, 200, 1): 12 t.append(T) 13 for m in range(0, 9, 1): 14 for M in range(0, 9, 1): 15 for M2 in range(0, 9, 1): 16 A = A + (m*B_1 + M*B_2 + M2*B_3)/T 17 C.append(A) 18 plt.plot(t, C, color='blue') 19 plt.grid(True) 20 A=0 21 print(B_1, B_2, B_3) 22 plt.show()
試したこと
過去に似たような投稿があったため、それを参考にplt.show()の下やB_3のforループの下にplt.cla()を追加したりなどしたもののうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
どの行に入れればいいか、など具体的に教えていただけるとありがたいです。

回答1件
あなたの回答
tips
プレビュー