我正在绘制图表并使用 pylab.poly1d 函数绘制最佳拟合线。但最佳拟合线不够长。我怎样才能延长这条线。这是我的代码:
y=np.genfromtxt('_02total.txt').T[0]
x=np.genfromtxt('_02total.txt').T[1]
fit=pl.polyfit(x,y,1)
fit_fn=pl.poly1d(fit)
scat=pl.plot(x,y, 'yo', x, fit_fn(x), '--k')
pl.show()
如何使 fit_fn
线更长?
编辑:
第二次尝试无效
y=np.genfromtxt('_02total.txt').T[0] #unweighted
x=np.genfromtxt('_02total.txt').T[1] #weighted
fit=pl.polyfit(x,y,1)
fit_fn=pl.poly1d(fit)
x_min=0.2
x_max=2
n=1000
x_fit = pl.linspace(x_min, x_max, n)
y_fit = fit_fn(x_fit)
scat=pl.plot(x,y, 'yo', x, fit_fn(x), '-r' )
最佳答案
# Fit function given by:
fit_fn=pl.poly1d(fit)
x_fit = pl.linspace(x_min, x_max, n)
y_fit = fit_fn(x_fit)
x_min
和 x_max
指定您希望绘制数据的限制,n
为点数。在拟合数据时,您应该始终执行此操作,因为x
中的点数可能是很自然的(这就是为什么您要拟合它)。
关于python - 在我的图中扩展 pylab.poly1d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17367606/