2017-01-30 6 views
7

パラレル座標ソースコードhereを最新のd3jsバージョン(d3js 4.5.0)に移行しています。私はこのラインにこだわっている:D3js v4:scaleOrdinalにrangePoints()がありません

var x = d3.scale.ordinal().rangePoints([0, width], 1) 

​​機能V4 d3jsにはもはや存在しないようです。私はd3に変更することができます。 scaleOrdinal()ですが、​​関数ではなく、range関数しかありません。これについての手がかりは? D3 v4ので

答えて

10

は、二つの新しい尺度が作成されています。scaleBandscalePointを、今scale.ordinalは(​​それらの間)バージョン3に持っていた機能のいくつかを持っています。それはchangelogに記載されます

:ポイントスケール:

同様

、ordinal.rangePointsとordinal.rangeRoundPoints方法は順序尺度の新しいサブクラスに置き換えられました。 3.xでは、次のコード:

var x = d3.scale.ordinal() 
.domain(["a", "b", "c"]) 
.rangePoints([0, width]); 

は4.0で、これに相当します

var x = d3.scalePoint() 
.domain(["a", "b", "c"]) 
.range([0, width]); 

したがって、あなたがここに必要な規模がscalePointです:

ポイントスケールされています帯域幅がゼロに固定された帯域幅の変種。ポイントスケールは、通常、序数またはカテゴリのディメンションを持つ散布図に使用されます。 padding

var x = scalePoint() 
    .range([0, width]) 
    .padding(.1); 

ご注意:

このように、あなたのスケールを変更点満点で、rangeが唯一の範囲の配列、もはやないパディングを受け入れます。

関連する問題