2017-06-22 10 views
1

50から100までの線形のスケールを作成したいが、異常値が50より小さいか100より大きい場合は、それぞれ50または100の値に強制的に変換されるので、私のグラフの可視範囲から外れません。 (計画では、ユーザーは、彼らがより多くのか、彼らはのように見えるものよりも小さいのどちらかだ知っているように、異なったデータ・ポイントのスタイルを、その後である。)私は行くだろうについての線形区分を作る方法D3の直線的な区分的スケール

enter image description here

これを行うD3の規模?あるいは、単にSVGのy属性によって直接呼び出される「ゲートキーパー」関数を作成し、それらの強制を手動で行い、その後、「範囲内」の値を持つ規則的な線形尺度を呼び出して、「範囲外"値は決して最初の通常のリニアスケールに送られることはありませんか?

答えて

2

私はあなたがこれを複雑にしていると思います。

は、私はあなただけのyアクセサの値をキャップ、d3.linefunctionを使用していると確信している:

var line = d3.line() 
    .x(function(d) { return x(d.x); }) 
    .y(function(d) { 
    if (d.y > 150) return y(150); 
    else if (d.y < 50) return y(50); 
    else return y(d.y); 
    }); 
関連する問題