3

我需要在 javascript 中以编程方式平滑我的“图表生成器”。这样做的 Excel 变体非常好,但我不建议使用什么算法。我尝试通过编写宏来获取 VBA 代码,但我得到的只是(预期的)ActiveChart.SeriesCollection(1).Smooth = True

有人知道 Microsoft Excel 使用什么算法来平滑图表或查看其代码的方式吗?

在此处输入图像描述

UPD:对于那些发现这个问题并有同样问题的人,我可以推荐这个带有 javascript 源代码的SVG 解决方案

4

1 回答 1

5

样条线用于执行此操作:

http://en.wikipedia.org/wiki/Spline_interpolation

我不确定 Excel 是否完全使用它,但三次样条通常用于这种“加入点”问题。本质上,您通过这些点拟合一组三次多项式(即一组三次方程)。每个立方体用于以两个或三个点为界的一个或两个区域。三次方的定义不仅是保留值,还保留一个立方结束和下一个立方开始的每个点的梯度。二阶导数通常设置为零,这为您提供了另一个边界条件和更好的平滑度。

于 2013-09-10T14:36:24.243 回答