Форматирование 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';
}
Смотрите эту скрипку для полного примера.