var xScale = d3.scale.ordinal().domain([0, d3.max(data)]).rangeRoundBands([0, w], .1);
var yScale = d3.scale.linear().domain([0, data.length]).range([h, 0]);
Я смущен тем, когда следует использовать порядковый или линейный масштаб в D3.
Ниже я узнал из документа API, все еще потерянного... если кто-то может помочь, он будет очень признателен.
порядковое (х)
Учитывая значение x во входном домене, возвращает соответствующее значение в выходном диапазоне.
Если диапазон был указан явно (как по диапазону, но не по диапазону диапазонов, rangeRoundBands или rangePoints), а заданное значение x не находится в домене масштабирования, то x неявно добавляется в домен; последующие вызовы шкалы, заданной одним и тем же значением x, возвращают то же значение y из диапазона.
d3.scale.linear()
Создает новый линейный масштаб с доменом по умолчанию [0,1] и диапазоном по умолчанию [0,1]. Таким образом, линейная шкала по умолчанию эквивалентна функции идентификации для чисел; например, линейный (0,5) возвращает 0,5.