from matplotlib import pyplot as plt
import numpy as np
import time
x=np.array([0.1,0.2,0.4,0.8,1.6,3.2])#输入x值
y=np.array([102,288,495,1110,2022,4226])#输入y值
mean1 = np.mean(x)#计算平均数
mean2 = np.mean(y)
step1 =x- mean1#计算x-平均数
step2 = y-mean2
step3=step1*step2#乘法计算
sum1=np.sum(step3)#加和计算
np1=np.sum(pow(step1,2))
npb=sum1/np1#斜率
print('斜率',npb)
npa = mean2-npb*mean1
print('截距',npa)
y2 = npb*x+npa
x1 = range(len(x))#x轴
y3 =y-y2#y轴
npr =sum(step1*step2) /(np.sqrt(np.sum(pow(step1,2)))*np.sqrt(np.sum(pow(step2,2))))#r值
plt.title('Residual diagram',y=1,loc='left')#做标题Residual diagram,竖向1,横向居左的位置
plt.title(str(npr),y=1,loc='right')#做标题内容为r值,竖向1,横向居右的位置
plt.title('r=',x=0.58,y=1)#做标题r,在横向0.58,竖向1的位置
plt.plot(x1,y3,color='black',marker="o",linewidth = 1)#作图,x轴为x1,y轴为y3,颜色黑色,每个点用o标注,线细为1
plt.axhline(y=0,color='r',xmin=0, xmax=1, linestyle ='--',alpha = 0.2,linewidth = 0.5)#增加辅助线在y轴为0的位置,颜色为红色,从0开始至1划线,使用--虚线,透明度0.2,线细0.5
file1 = './'+str(time.time())+'.png'
print(file1)
plt.savefig(file1)#保存图片到同目录下
plt.show()#显示绘图