2016-05-18 11 views
1

ここに私がこれまで持っていたもののjsbinがあります。d3.jsで正弦波が振幅の高さにならない

私の正弦波は1または-1のy値、すなわち振幅には達しません。

マイYSCALEはこのように定義されています

const yScaleAxis = d3.scale.linear() 
     .domain([-1, 1]) 
     .range([radius, -radius]); 

そして、私はこのような値を作成しています:

const xValues = [0, 1.57, 3.14, 4.71, 6.28]; // 0 to 2PI 

const sineData = xValues.map((x) => { 
    console.log(Math.sin(x)); 
    return {x: x, y: Math.sin(x)}; 
}); 

yの値は次のように記録されています。

0 
0.9999996829318346 
0.0015926529164868282 
-0.999997146387718 
-0.0031853017931379904 

Iスケールを使用して値を設定します。

const sine = d3.svg.line() 
     .interpolate('basis') 
     .x((d) => {return xScaleAxis(d.x);}) 
     .y((d) => {return yScaleAxis(d.y);}); 

circleGroup.append('path') 
    .datum(sineData) 
    .attr('class', 'sine-curve') 
    .attr('d', sine); 

しかし、jsbinで見ることができるように、正弦波の振幅は1または-1に達していないため、わかりません。 monotone

答えて

関連する問題