2013-09-16 4 views
2

Я пытаюсь использовать d3.ticks. According to the documentation, я должен иметь возможность ограничить количество тиков, отображаемых на оси.D3.js: показывать ограниченное количество тиков

Однако, это, кажется, не ограничивает количество тиков на всех:

xAxis = d3.svg.axis().scale(xScale).orient("bottom").ticks(2) 

Это потому, что мой масштаб порядковый?

JSFiddle здесь: http://jsfiddle.net/samselikoff/9tfD2/1/

ответ

5

axis.ticks работает только тогда, когда базовая шкала реализует ticks функцию, которая порядковые весы не делают. По умолчанию тики оси для порядковой шкалы состоят из домена шкалы, но вы можете переопределить это, предоставив явные значения тика axis.tickValues.

+0

Спасибо. Это сводило меня с ума. – Richard

0

В документации также говорится (в части для весов)

Указанный граф является лишь намек; масштаб может возвращать больше или меньше значений в зависимости от входного домена.

Это то, что происходит здесь - для порядкового масштаба все значения взяты.

Однако вы можете переопределить это, указав явные значения галочки, например.

d3.svg.axis().scale(xScale).orient("bottom").tickValues(["12am", "8pm"]) 
Смежные вопросы