importnumpyasnpimportmatplotlib.pyplotaspltfromastropy.modelingimportmodels,fitting# define a model for a lineline_orig=models.Linear1D(slope=1.0,intercept=0.5)# generate x, y data non-uniformly spaced in x# add noise to y measurementsnpts=30rng=np.random.default_rng(10)x=rng.uniform(0.0,10.0,npts)y=line_orig(x)y+=rng.normal(0.0,1.5,npts)# initialize a linear fitterfit=fitting.LinearLSQFitter()# initialize a linear modelline_init=models.Linear1D()# fit the data with the fitterfitted_line=fit(line_init,x,y)# plot the modelfig,ax=plt.subplots()ax.plot(x,y,'ko',label='Data')ax.plot(x,fitted_line(x),'k-',label='Fitted Model')ax.set(xlabel='x',ylabel='y')ax.legend()