# -*- coding: cp936 -*-
import numpy as np
import matplotlib.pyplot as plt
import math
def readData():
#从文件中读取数据
f = open('涨幅.txt','r')
data = []
while True:
line = f.readline()
if not line:
break
data.append((float)(line))
return data
def gauss(data):
delta = 0.15 #展宽系数
quality = 100
min_ = min(data)
max_ = max(data)
x = np.linspace(min_, max_, quality)
y = [0]*len(x)
for i in range(quality):
for d in data:
y[i] = y[i] + math.exp(-(x[i]-d)*(x[i]-d) / (2*delta*delta))
y[i] = y[i] / (len(x)*math.sqrt(2*math.pi)*delta)
return x,y
def drawDistribution():
data = readData()
x,y = gauss(data)
plt.figure()
#plt.xlim(-22,22)
plt.plot(x, y)
plt.show()
if __name__ == '__main__':
drawDistribution()