私は次のようにd3.jsで折れ線グラフを作成しています:
var line = d3.svg.line()
.interpolate("basis")
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.temperature); });
次に、次のようにラインデータポイントにドットを配置します。
var points = svg.selectAll(".point")
.data(cities1[0].values)
.enter().append("svg:circle")
.attr("stroke", "black")
.attr("fill", function(d, i) { return "black" })
.attr("cx", function(d, i) { return x(d.date) })
.attr("cy", function(d, i) { return y(d.temperature) })
.attr("r", function(d, i) { return 3 });
結果は私が期待するものではありません:
次に、interpolate( "basis")をinterpolate( "cardinal")に変更して、必要なものを取得します。
なぜ私は根拠で間違った結果を得たのですか?どうすれば基礎を使って正確な点を描くことができますか?
編集:同様の(未回答の)質問。このjsfiddleをチェックしてください。これは、補間を基本モードからカーディナル(またはその他の)モードに変更した場合にのみ機能します。しかし、枢機卿には、グラフの最大の高さを尊重しないという問題があります。私が探しているのは、いくつかの補間モードがポイントを正しい場所に配置できない理由(および枢機卿が最大の高さを尊重しない理由)についての説明です。