Je vois beaucoup de code D3 qui a quelque chose comme ça:
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
A partir de la version 4.0 de D3, d3.scale.ordinal()
est maintenant d3.scaleOrdinal
Et rangeRoundBands
semble avoir disparu.
> d3.scaleOrdinal()
{
[Function: scale]
domain: [Function],
range: [Function],
unknown: [Function],
copy: [Function]
}
Quel serait l'équivalent D3 v4 de ce code (d'après Mike Bostock exemple d'histogramme )?
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
Dans D3 4.x rangeRoundBands
a été déplacé vers la nouvelle échelle Bande :
d3.scaleBand()
.range([range])
.round([round]);
Cela équivaut à:
d3.scaleBand()
.rangeRound([range]);
Voici l'API: https://github.com/d3/d3-scale#band-scales
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
Ce qui précède calcule les bandes et définit le rembourrage entre les bandes. En v4, l'équivalent est
var x = d3.scaleBand()
.rangeRound([0, width])
.padding(0.1);