it-swarm.com.de

D3 4.0 rangeRoundBands-Äquivalent?

Ich sehe viel D3-Code, der ungefähr so ​​aussieht:

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

Ab D3 Version 4.0 ist d3.scale.ordinal() nun d3.scaleOrdinal Und rangeRoundBands scheint weg zu sein.

> d3.scaleOrdinal()

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

Was wäre das D3 v4-Äquivalent zu diesem Code (aus Mike Bostocks Balkendiagramm-Beispiel )?

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

In D3 4.x wurde rangeRoundBands auf die neue Band Skala verschoben:

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

Das entspricht:

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

Hier ist die API: https://github.com/d3/d3-scale#band-scales

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

Das obige berechnet die Bänder und stellt den Abstand zwischen den Bändern ein. In v4 ist das Äquivalent

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