等間隔でない (x,y) 値のリストがあります。この質問で使用されているアーカイブは次のとおりです。
値の間を補間することはできますが、得られるのは等間隔の補間ポイントではありません。これが私がすることです:
x_data = [0.613,0.615,0.615,...]
y_data = [5.919,5.349,5.413,...]
# Interpolate values for x and y.
t = np.linspace(0, 1, len(x_data))
t2 = np.linspace(0, 1, 100)
# One-dimensional linear interpolation.
x2 = np.interp(t2, t, x_data)
y2 = np.interp(t2, t, y_data)
# Plot x,y data.
plt.scatter(x_data, y_data, marker='o', color='k', s=40, lw=0.)
# Plot interpolated points.
plt.scatter(x2, y2, marker='o', color='r', s=10, lw=0.5)
結果は次のとおりです。
ご覧のとおり、元の点の分布が密集しているグラフのセクションでは、赤い点が互いに接近しています。
指定されたステップ値 (0.1 など) に従って、x、y で等間隔の補間点を生成する方法が必要です。
askewchan が正しく指摘しているように、「x 、y で等間隔」という意味は、曲線内の 2 つの連続する補間点が互いに同じ値 (ユークリッド直線距離) 離れている必要があることを意味します。
私はunubtuの答えを試しましたが、滑らかな曲線ではうまく機能しますが、滑らかではない曲線では壊れているようです:
これは、コードが曲線の真上ではなくユークリッドの方法で点の距離を計算し、曲線上の距離が点間で同じになるようにする必要があるために発生します。この問題は何とか回避できますか?