基本的に、時系列折れ線グラフの一定量の点に曲線平均線を描きたいと思います。javascript canvas:曲線付き移動平均線を描く
私はそれがチャートの全体の長さにまたがるにしたいが、私は平均が(と思う)のポイントになるので、開始点と終了点を計算する方法を見つけ出すことはできません。このような各セクションの中央。あなたは私がacheiveたいものを見ることができます移動平均と株価チャートを見て:
私は時間の期間に基づいてチャンクにデータ配列を分割することにより、第1の平均値を計算します。私はで始まるのであれば:これは私が不完全な行で終わるところ私は、チャートの先頭から開始does notのいずれかを試してみたものです
var averages = [
{
x: 1.5,
y: 3,
},
{
x: 3.5 (the average time)
y: 6 (the average value)
},
]
:
[
{ time: 1, value: 2 },
{ time: 2, value: 4 },
{ time: 3, value: 5 },
{ time: 4, value: 7 },
]
私はを取得します最後に停止しませんが、最初の平均時間にチャート内の星と終わり:
ctx.moveTo((averages[0].x), averages[0].y);
for(var i = 0; i < averages.length-1; i ++)
{
var x_mid = (averages[i].x + averages[i+1].x)/2;
var y_mid = (averages[i].y + averages[i+1].y)/2;
var cp_x1 = (x_mid + averages[i].x)/2;
var cp_x2 = (x_mid + averages[i+1].x)/2;
ctx.quadraticCurveTo(cp_x1, averages[i].y ,x_mid, y_mid);
ctx.quadraticCurveTo(cp_x2, averages[i+1].y ,averages[i+1].x, averages[i+1].y);
}
ctx.stroke();
どうやってやりますか?