Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import matplotlib.pyplot as plt
- from scipy import stats
- import numpy as np
- import csv
- import math
- data_x = []
- data_y = []
- #Pobieranie danych
- with open("data1.csv", newline = '') as csvdata:
- csv_reader = csv.reader(csvdata)
- for line in csv_reader:
- #print(line[1])
- data_x.append(float(line[0]))
- data_y.append(float(line[1]))
- #Ustawienie tickow dla osi X
- #TODO: ticki dla osi Y jak bedzie trzeba
- x_ticks = np.arange(math.floor(min(data_x)),math.ceil(max(data_x))+1,1)
- #print(x_ticks)
- #print(max(data_x))
- #Tworzenie wykresu rozproszonnego i ustawienie tickow X
- plt.scatter(data_x,data_y)
- plt.xticks(x_ticks)
- #Workaround do normalnej regresi liniowej (tutaj uzywamy biblioteki, ktorej potencjalnie nie musimy)
- slope, intercept, r, p, std_err = stats.linregress(data_x,data_y)
- def myfunc(data_x):
- return slope * data_x + intercept
- mymodel = list(map(myfunc, data_x))
- #nalozenie regresji liniowej na wykres
- plt.plot(data_x, mymodel, color='red')
- #Znalezienie R pearsona
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement