У меня небольшая проблема с плагином Flot при отображении меток xaxis на графике. Они 'mode: "time"'
. В настоящее время я использую Flot с функцией всплывающей подсказки, и подсказка содержит дату и время.
Я поставляю JSON для плагина, который содержит метки времени. После этого я конвертирую метку времени и отображаю ее во всплывающей подсказке. Проблема заключается в том, что при отображении данных на графике времена из всплывающих подсказок не соответствуют меткам оси X, генерируемым плагином из-за разницы между часовыми поясами. Мои метки времени в формате JSON: +2 по Гринвичу, а метки xaxis в Flot - +0 по Гринвичу. Поэтому мне интересно, есть ли возможность установить смещение часового пояса или что-то подобное.
My JSON (генерируется AJAX)
[1300087800000,29],
[1300088700000,39],
[1300089600000,46],
[1300090500000,53],
[1300091400000,68],
[1300092300000,95],
...
Моя функция всплывающей подсказки
$(placeholder).bind("plothover", function (event, pos, item) {
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2);
var y = item.datapoint[1].toFixed(2);
var currDate = new Date(Math.floor(x));
var hour = currDate.getHours();
var minute = String("") + currDate.getMinutes();
var tooltip = hour + ":" +
((minute.length < 2) ? "0" + minute : minute) + " " +
(Math.round(y * 100)/100) + "Wh"
showTooltip(item.pageX, item.pageY, tooltip);
});
Опции Flot
var plotOptions = {
lines: { show: true, lineWidth: 1 },
points: { show: false, symbol: "cross" },
xaxis: {
mode: "time",
tickLength: 5,
timeZoneOffset: (new Date()).getTimezoneOffset()
},
selection: { mode: "x", color: "#BCBCBC" },
grid: { hoverable: true, clickable: false }
};
но, к сожалению timeZoneOffset
не работает, и у меня все еще есть различия между xaxis и всплывающими подсказками.
У вас есть идеи, как мне решить мою проблему?