Поменяйте галочки на оси х

Я пытаюсь выяснить d3.js. При определении оси, Как я могу получить пользовательские надписи на оси X. Например, я получаю метку по умолчанию:

|------|------|------|------|------|------|
20    30     40     50     60     70     80

Принимая во внимание, что я хочу что-то вроде:

|------|------|------|------|------|------| ....
20    26      32    38     44     50     56

В настоящее время я изучаю его и работаю над кодом (немного измененным) из официальных примеров:

var xAxis = d3.svg.axis().scale(x).tickPadding(7).orient("bottom");
var yAxis = d3.svg.axis().scale(y).tickPadding(5).orient("left");

Ответы на вопрос(1)

Решение Вопроса

5 и 10. Похоже, вы хотите, чтобы кратные 6; хотя это необычно, это может иметь смысл в зависимости от характера лежащих в основе данных. Итак, пока вы можете использоватьaxis.ticks чтобы увеличить или уменьшить количество тиков, он всегда будет возвращать кратные 2, 5 и 10 - не 6

Если вы хотите кратные 6, вы можете использоватьaxis.tickValues указать значения галочки явно. Это обычно используется в сочетании сd3.range, Например:

xAxis.tickValues(d3.range(20, 80, 4));

Если вы хотите вычислить значения динамически, используйте x-scales домен для получения самого низкого и самого высокого значения. Также имейте в виду, что верхняя граница диапазона является исключительной, поэтому в приведенном выше примере наибольшее значение тика составляет 76. Вы можете сделать верхнюю границу включительно, сделав стоп-значение диапазона немного больше (например, 81).

 WeaklyTyped27 окт. 2012 г., 18:48
Ха-ха! Я понял это и сам пришел сюда, чтобы ответить на вопрос, но в любом случае ваш пост был действительно полезным. Спасибо! :)
 Komal Gupta10 окт. 2016 г., 10:47
@mbostock. Что если мои метки xAxis являются датами? Как пропускает ярлыки?
 Sam Selikoff14 янв. 2013 г., 15:51
@mbostock, у меня есть 24 категории в количественном масштабе, но добавление .ticks (6) к моему xAxis ничего не дает - все 24 по-прежнему показывают. Есть идеи?
 Seri12 авг. 2014 г., 16:27
Исходный код d3 теперь говорит, что tickSubdivide устарела и ничего не делает.

Ваш ответ на вопрос