2015-03-09 3 views
1

фонD3js Изменение тиков по оси Масштабируемого времени

У меня есть масштабируемое время график, который я строй, включающий следующий код:

var x = d3.time.scale().range([0, 100]); 
var xAxis = d3.svg.axis() 
    .scale(x) 
    .tickFormat(customformatter); 

Когда соответствующий интервал года, он показывает тики лет , Месяцы показывают месяцы и т.д.

Проблема

Это прекрасно работает, создавая большие тики, пока я не увеличить вниз в недели, в какой момент я должен быть в состоянии диктовать, какой день недели клещи шоу для (Воскресенье, понедельник и т. Д.). Я знаю мультиформатный пользовательский генератор для tickFormat, в котором вы можете указать формат с соответствующим интервалом. Однако это не изменит тики. Есть ли способ установить начало недельных правил при сохранении поколения тиков, которое в противном случае существует на уровне года, месяца, дня (и т. Д.)? Можно ли установить дату начала по умолчанию для другого дня недели для библиотеки d3?


ответ

0

Это вряд ли рекомендуется ответ на мой собственный вопрос, но если кто-то отчаянным один способ переопределить исходный код в /src/time/week.js:

d3_time.week = d3_time.sunday; 
d3_time.weeks = d3_time.sunday.range; 
d3_time.weeks.utc = d3_time.sunday.utc.range; 
d3_time.weekOfYear = d3_time.sundayOfYear; 

Просто своп вне «воскресенья» в течение другого дня недели.

Смежные вопросы