jQuery Flot Tick / Выравнивание даты - PullRequest
6 голосов
/ 28 февраля 2012

Код

Пример моей проблемы: http://jsfiddle.net/x46RQ/


Цель

Я хочу, чтобы график был гистограммой, например так: http://jsfiddle.net/Lbd85/, но, очевидно, с датами в качестве оси X. Если я добавляю свои данные в эту скрипку, они портятся, как показано выше, как показано здесь: http://jsfiddle.net/73G7Z/


Вопросы

  • Почему все 3 дня в переменной данных не отображаются?
  • Почему столбцы не выровнены с соответствующими галочками оси X?
  • Почему изменение данных и режима во времени полностью портит то, что в противном случае было бы функциональной и точной гистограммой?

Окружающая среда

  • jQuery 1.7.1
  • jQuery Mobile 1.0.1
  • Флот 0,7

Спасибо

Дайте мне знать, если потребуется какая-либо дополнительная информация.

1 Ответ

4 голосов
/ 28 февраля 2012

Part # 1, Вы указали минимальное значение 0 в параметрах flot, а точка данных № 2 имеет значение ноль. Так оно и есть, но очень маленькое, почти невидимое.

Часть # 2, вам нужно сместить даты по часовому поясу пользователя:

Примерно так:

var tzOffset = new Date();
tzOffset = tzOffset.getTimezoneOffset()*60*1000;
data.push([(new Date("2012/02/20").getTime()-tzOffset), 1]);

Part # 3, ваш график - беспорядок, потому что вы указали width, когда на самом деле вы искали параметр barWidth, и вам нужно указать ширину в терминах времени, то есть миллисекунд. Смотрите здесь как это сделать. Что-то вроде barWidth: 12*60*60*1000 выглядит нормально.

Итак, в общем, вот как это будет выглядеть: http://jsfiddle.net/ncTd3/

...