使用 matplotlib 绘制的数据进行推断
我的文件中有 10 个 x 和 y 值。
有什么方法可以推断图形,即使其成为连续函数并增加 matplotlib 中其他 x 值的范围?
如果有人能告诉我是否还有其他我可以使用的软件,我什至会很感激。我基本上希望这 10 个值近似为连续函数,以便我可以知道某个随机 x 点的 y 值。
I have 10 values of x and y in my file.
Is there any way that I can extrapolate the graph ie make it into a continous function and increasing its range for other x-values in matplotlib ??
I would even be thankful if anyone can tell me if there is any other software that I can use. I basically want that these 10 values get approximated to a continous function so that I can know the y-value at some random x point.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面我使用Scipy,但是相同函数(polyval和polyfit)也在NumPy< /em>; NumPy 是 Matplotlib 依赖项,因此如果您没有安装 SciPy,可以从那里导入这两个函数。
below i use Scipy, but the same functions (polyval and polyfit) are also in NumPy; NumPy is a Matplotlib dependency so you can import those two functions from there if you don't have SciPy installed.
如果您使用的是
SciPy
(科学Python),您可以尝试scipy.interp1d
。有关示例,请参阅手册。否则,任何像样的电子表格软件都应该能够进行样条插值并为您提供一个漂亮的平滑图表。
不过,请注意外推。如果您没有良好的数据模型,则在推断输入范围之外时可能会得到完全不相关的数据。
示例(编辑):
您现在可以在任意点
x
计算函数f(x)
。例如,print f(2.5)
将返回 x=2.5 的插值。If you are using
SciPy
(Scientific Python) you can tryscipy.interp1d
. See the manual for an example.Otherwise, any decent spreadsheet software should be able to do spline interpolation and give you a nice smooth graph.
Beware of extrapolation, though. If you don't have a good model for your data you might get completely unrelated data when extrapolating outside your input range.
Example (EDIT):
You can now compute the function
f(x)
at any pointx
. For exampleprint f(2.5)
will return the interpolated value for x=2.5.