我试着在同一个图上画几个随机生成的线图
def SnSim(S)
函数生成随机数并打印它们,但是当我在下面的for loop
中多次调用SnSim(S)
函数时,每个随机数都出现在不同的打印窗口中
有没有办法把三条线的图放在同一个图上(下面的代码运行,只需按原样剪切和粘贴即可。谢谢你
import math
import random
import matplotlib.pyplot as plt
steps=10 #how many random numbers to generate per line graphed
z=random.random()
So=100
Strike=105
N=3 #how many times to call the SnSim(S) function.
def Sn(S): return S*(1+z)
def SnSim(S):
listSi = []
listr = list(range(0,steps))
Si=Sn(S)
for i in range (0,steps):
z=random.random()
Si=Si + Si*z
listSi.append(float(Si))
plt.plot(listr,listSi)
plt.show()
print(listSi)
return(Si)
sum=0
for a in range (0,N):
z=random.random()
sum=sum + max((SnSim(So)-Strike),0)
将
plt.show()
行移到for循环下面plt.show()
显示所有图形和块,直到图形关闭。因此,我们必须在所有的数据被绘制出来之后才调用它正如Tex4066所提到的,将
plt.show()
命令从循环中取出,或者去掉它并使用plt.ion()
一次,它将在绘制时显示事物,您将不需要plt.show()
相关问题 更多 >
编程相关推荐