Вы можете использовать axis.ticks для уменьшения количества тиков; xAxis.ticks(5)
, похоже, хорошо работает здесь.
Чтобы остановить точки от перекрытия осей, у вас есть несколько вариантов. Во-первых, вы можете увеличить tickSize или tickPadding. Кружки все равно будут перекрывать метки, но они не будут перекрывать метки меток. Другой вариант заключается в том, что вы можете увеличить свой домен, чтобы занять там дополнительное пространство между кругами и осью.
Обычно вы автоматически вычисляете домен с помощью d3.extent (или просто d3.min и d3.max). Вот пример того, как продлить домен на 10% с каждой стороны:
// First set the domain automatically from the data.
var x = d3.scale.linear().domain(d3.extent(numbers));
// Then extend the domain using invert (with the default range [0, 1]).
x.domain([-.1, 1.1].map(x.invert));
// Lastly set the desired range.
x.range([0, width]);
В вашем случае, так как вы закодировав домен, вы можете просто изменить то, что вы закодировав к более широкий диапазон значений.
спасибо. Обновил его согласно вашему предложению, и теперь он отлично выглядит! – Legend