Форматирование JQuery Flot X оси

У меня больше нет галочек для меток оси X в формате даты. Теперь мне нужно отформатировать его с указанием года, месяца или недели, основываясь на количестве динамически генерируемых тиков. Например, если у меня есть даты 2011-10-01,2011-10-02,......2015-10-05, то мне нужно отформатировать метку оси x как 2011, 2012, 2013,...2015. Когда я делаю линейный график, когда я нажимаю на круг, он должен показывать фактические значения в подсказке. т.е. 2011-01-10: 200. Теперь метки оси X объединены друг с другом.

Я пытался создавать тики, отображая только год, но во всплывающей подсказке это не отражалось. т.е. пустой.

Пожалуйста, поделитесь мыслями, как я могу сделать это хорошим способом.

1 ответ

Решение

Вы можете настроить параметры timeformat и minTickSize в зависимости от ваших данных с помощью такой функции:

var diff = data[data.length - 1][0] - data[0][0];
var oneDay = 24 * 60 * 60 * 1000;

if (diff < 31 * oneDay) {
    options.xaxis.minTickSize = [1, 'day'];
    options.xaxis.timeformat = '%Y-%m-%d';
} else if (diff < 24 * 31 * oneDay) {
    options.xaxis.minTickSize = [1, 'month'];
    options.xaxis.timeformat = '%Y-%m';
} else {
    options.xaxis.minTickSize = [1, 'year'];
    options.xaxis.timeformat = '%Y';
}

Смотрите эту скрипку для полного примера.

Другие вопросы по тегам