Как построить линейный график на графике
Я новичок в программировании. Итак, я пытаюсь прочитать некоторые файлы из папки и построить временные ряды. Что нужно сделать, чтобы добавить y=intercept*x2 в график?
ДФ это:
values time 2005-01-01 NaN 2005-01-02 3.610269e+15 2005-01-03 NaN ... 2018-12-28 NaN 2018-12-29 NaN 2018-12-30 NaN 2018-12-31 2.833773e+15 [5092 rows x 1 columns]
Что я уже пробовал:
fnames = glob.glob('C:/Users/file/*.csv') for filename in fnames: df= pd.read_csv(filename, skiprows=8, parse_dates =["time"], index_col ="time") df.columns=['values'] df = df.replace(-1.267651e+30, np.NaN) monthly_resampled_data = df.resample('M').mean() monthly_resampled_counts = df.resample('M').count() yearly_resampled_data= monthly_resampled_data.resample('Y').mean() yearly_resamped_counts=monthly_resampled_data.resample('Y').count() x=yearly_resampled_data.index.year x.shape slope, intercept, r_value, p_value, std_err = stats.linregress(x, yearly_resampled_data.values[:,0]) print("slope: %f intercept: %f r_value:%f p_value:%f std_err:%f" % (slope, intercept,r_value, p_value, std_err)) print("R-squared: %f" % r_value**2) #how to plot linear in the graph??? ax=monthly_resampled_data.plot(color='black') ax.set_ylim((0.1e16,1.2e16)) plt.xlabel('Year') plt.show() plt.close()
Richard MacCutchan
Это скорее зависит от того, что вы хотите показать, но я бы предположил, что ось X будет датами, а ось Y-значениями. Однако построение более 5000 значений займет довольно много места. Вероятно, было бы быстрее загрузить файл в Excel и использовать встроенный графический инструмент.