W D3 v4, dwa nowe łuski zostały stworzone: scaleBand
i scalePoint
, który teraz niektóre z cech, które scale.ordinal
mieli w wersji 3 (wśród nich rangePoints
).
Jest to udokumentowane w changelog:
Podobnie ordinal.rangePoints i metody ordinal.rangeRoundPoints zastąpiono nową podklasą porządkowej skali: wag punktowych. Następujący kod w 3.x:
var x = d3.scale.ordinal()
.domain(["a", "b", "c"])
.rangePoints([0, width]);
jest odpowiednikiem tego w 4.0:
var x = d3.scalePoint()
.domain(["a", "b", "c"])
.range([0, width]);
Dlatego skala trzeba tutaj jest scalePoint:
skale punktowe są wariant wagi taśmowej o szerokości pasma ustawionej na zero. Skale punktowe są zwykle używane do wykresów rozrzutu z wymiarem porządkowym lub kategorycznym.
Dlatego, aby zmienić skalę:
var x = scalePoint()
.range([0, width])
.padding(.1);
zwrócić uwagę na padding
: w skali punktowej, range
akceptuje jedynie tablicę zakres, a nie dopełnienie już.