我正在绘制图表并使用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' )
答案 0 :(得分:2)
# 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
中的点数可能是相当的(因此你适合它的原因)。