Pra*_*eep 6 python numpy matplotlib
我在python中使用loglog函数绘制简单的2D图,如下所示:
plt.loglog(x,y,label='X vs Y');
Run Code Online (Sandbox Code Playgroud)
X和Y都是n
大小浮动数的列表.
我想在同一个图表上插入一条线.我试过numpy.polyfit,但我无处可去.
如果您的图表已经是loglog规模,那么如何使用polyfit来匹配一条线?
Pas*_*ion 15
Numpy并不关心matplotlib图的轴是什么.
我认为你认为log(y)
是一些多项式函数log(x)
,你想找到那个多项式?如果是这种情况,那么运行numpy.polyfit
数据集的对数:
import numpy as np
logx = np.log(x)
logy = np.log(y)
coeffs = np.polyfit(logx,logy,deg=3)
poly = np.poly1d(coeffs)
Run Code Online (Sandbox Code Playgroud)
poly
现在是一个log(x)
返回的多项式log(y)
.为了适应预测y
值,您可以定义一个只对多项式求幂的函数:
yfit = lambda x: np.exp(poly(np.log(x)))
Run Code Online (Sandbox Code Playgroud)
您现在可以在matplotlib loglog
图上绘制拟合线:
plt.loglog(x,yfit(x))
Run Code Online (Sandbox Code Playgroud)
并像这样展示它
plt.show()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7656 次 |
最近记录: |