python - 在我的图中扩展 pylab.poly1d

标签 python numpy matplotlib

我正在绘制图表并使用 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_minx_max 指定您希望绘制数据的限制,n 为点数。在拟合数据时,您应该始终执行此操作,因为x中的点数可能是很自然的(这就是为什么您要拟合它)。

关于python - 在我的图中扩展 pylab.poly1d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17367606/

相关文章:

python - 如何在Python中将文本文件显示为表格?

python - pybrain activate() 输出表示

python - 调整 seaborn.boxplot

python - 从 matplotlib 中的直方图数据绘制折线图

python - 计算相关矩阵子集的最快方法

matplotlib - 使用分类数据(seaborn)在热图中标记位置

python、lxml 或 etree 获取包含某些文本的节点的父节点

python: numpy - 使用线性插值计算百分位数

python - 模块中的条件导入

Python matplotlib : Error while saving scatter plot in svg format