web-dev-qa-db-ja.com

D3 4.0 rangeRoundBandsと同等ですか?

私はこのような何かを持っているD3コードをたくさん見ます:

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

D3バージョン4.0では、d3.scale.ordinal()d3.scaleOrdinalになり、rangeRoundBandsはなくなったようです。

> d3.scaleOrdinal()

{ 
  [Function: scale]
  domain: [Function],
  range: [Function],
  unknown: [Function],
  copy: [Function] 
}

このコードに相当するD3 v4(Mike Bostockの 棒グラフの例 )はどうなりますか?

var x = d3.scale.ordinal()
  .rangeRoundBands([0, width], .1);
56
mikewilliamson

D3 4.xでは、rangeRoundBandsは新しいBandスケールに移動されました。

d3.scaleBand()
    .range([range])
    .round([round]);

それは次と同等です:

d3.scaleBand()
    .rangeRound([range]);

APIは次のとおりです。 https://github.com/d3/d3-scale#band-scales

69
Gerardo Furtado
var x = d3.scale.ordinal()
    .rangeRoundBands([0, width], .1);

上記はバンドを計算し、バンド間のパディングを設定します。 v4では、同等のものは

var x = d3.scaleBand()
    .rangeRound([0, width])
    .padding(0.1);
56
Nan Zhou