微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为实验数据绘制平滑曲线Python

如何解决为实验数据绘制平滑曲线Python

我有一个实验数据,该实验是使用plt.plotplt.scatter绘制的。该图以点到点的直线表示。

如何为数据绘制平滑曲线。我以前在线性和二次方程式中使用过curve_fit,但是想不出一种将数据拟合到多项式的方法

我的代码是:

prob = scatter_prob(ip1,ips1,is1,iss1)
plt.plot(voltage1,prob)
plt.xlabel('Voltage (V)')
plt.ylabel('Probability of Electron Scattering')
plt.title('Graph of Voltage vs. Probability')
plt.scatter(voltage1,prob)
plt.annotate('Minimum Probability P = ' + str(probmin),xy = (vmin,probmin),xytext = (vmin +1,arrowprops=dict(facecolor='yellow',shrink = 0.05))
plt.grid(True)
plt.tight_layout()
plt.show()

和我收到的图的图像在这里

plot

prob,voltage1,ip1,is1,ips1和iss1是numpy数组。 scatter_prob返回

1 - ((Ip1 * Iss1)/(Ips1 * Is1))

解决方法

使曲线平滑的最佳方法是使用Savitzky-Golay滤波器。这是一个不错的示例here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。