Plotly:当使用选项 line_shape='spline' 时,我们绘制什么样的样条?

eli*_*A92 5 python r spline plotly

我正在准备一些代码来用样条插入一系列点。

样条有很多种:二次的,三次的,很多边界条件……

到目前为止,我已经尝试了最流行的:三次样条,边界条件:

  • 自然:二阶导数在第一点和最后点为零。
  • 钳位:一阶导数在第一个点和最后一个点处为零。
  • Not-a-knot:三阶导数在第二个和倒数第二个点是连续的。

我还尝试了具有“夹紧”初始条件的二次样条。

我发现当我们像这样定义跟踪时,Plotly 也有一个内置的插值函数:

fig.add_trace(go.Scatter(
    x=df['timestamp'],
    y=df['values'],
    mode='lines',
    line_shape='spline',
))
Run Code Online (Sandbox Code Playgroud)

这个情节的样条线看起来很合我的口味。例如,它比自然三次样条更柔软且振荡更小:

红线是自然三次样条。灰线是 plotly 的样条。

在此处输入图片说明

所以我的问题是:这是什么类型的样条?

我试图将它与我上面提到的曲线进行比较。它们都不像 Plotly 的样条。

我检查了 Plotly 的文档,它没有告诉你他们使用的是哪种曲线。但是它说您可以添加参数“平滑”以控制曲率。

有谁知道 Plotly 的人是怎么做的?

ves*_*and 3

我也无法在文档中找到完整的描述。但从你的图的外观来看,我认为它是某种单调三次插值

如果将您的图形与上面来源中的类似图形进行比较,您会发现所示的样条线有很多共同点:

在此输入图像描述

从灰色、红色和绿色圆圈突出显示的区域来看,plotly 应用的样条线似乎比其他类似选项具有更平滑的特征。