0
Я работаю над диаграммой gantt в d3.js, я хочу показать 18 месяцев на X-Axis, которая включает последние 6 месяцев и будущее 11 месяцев, всего 18 месяцев. Используя следующий код, я получаю месяцы на X-Axis в соответствии с датой начала и endDates задач (Y-Axis).Как получить диапазон динамических месяцев по оси в d3.js?
var timeDomainStart = d3.time.day.offset(new Date(),-0);
var timeDomainEnd = d3.time.day.offset(new Date(),+0);
var initTimeDomain = function() {
if (timeDomainMode === FIT_TIME_DOMAIN_MODE) {
tasks.sort(function(a, b) {
return a.endDate - b.endDate;
});
timeDomainEnd = tasks[tasks.length - 1].endDate;
tasks.sort(function(a, b) {
return a.startDate - b.startDate;
});
timeDomainStart = tasks[0].startDate;
}
};
var initAxis = function() {
x = d3.time.scale().domain([ timeDomainStart, timeDomainEnd ])
.range([ 0, width ]).clamp(true);
y = d3.scale.ordinal().domain(taskTypes)
.rangeRoundBands([ 0, height - margin.top - margin.bottom ], .25);
xAxis = d3.svg.axis().scale(x).orient("top").tickFormat(d3.time.format(tickFormat))
.tickSize(0).tickPadding(10);
yAxis = d3.svg.axis().scale(y).orient("left").tickSize(0).tickPadding(5);
};