2

折れ線グラフにプロットしている離散点の配列があります。D3 は、離散データ ポイントの補間を処理して滑らかな線を作成しています。

例えば

var data = [0, 1, 2, 4, 8, 4, 2, 1, 0];
var line = d3.svg.area()
                    .x(function (d, i) { return i * lineWidth })
                    .y1(function (d, i) { return h - hOf(d) })
                    .y0(h)
                    .interpolate("cardinal")
                    .data(data);

必然的に、d3 の内部のどこかで、カーディナル スプライン関数が、制御点として与えられたデータを使用して計算されます。

そのスプラインに基づいてデータをリサンプリングできるように、そのスプライン関数を回復したいと思います。

次のようになります。

var spline = line.getSpline();
var sample = spline(3.3);

d3 はそのスプライン関数を公開していますか?

4

1 に答える 1

2

スプライン関数は公開されていませんが、必要に応じて、ライン/エリアから情報を取得できる場合があります。つまり、 を呼び出すとline(x)、 position の値が得られますx

于 2013-10-28T19:13:58.093 に答える