Tôi có một vấn đề nhỏ với plugin Flot khi hiển thị nhãn xaxis trong biểu đồ. Chúng là 'mode: "time"'
. Hiện tại tôi sử dụng Flot với chức năng tooltip và chú giải công cụ chứa ngày giờ. Tôi cung cấp JSON cho plugin chứa dấu thời gian. Sau đó, tôi chuyển đổi dấu thời gian và hiển thị nó trong chú giải công cụ. Vấn đề là khi hiển thị dữ liệu trong biểu đồ, thời gian từ các chú giải công cụ không tương ứng với các nhãn xaxis được tạo bởi plugin do sự khác biệt giữa các múi giờ. Dấu thời gian JSON của tôi là +2 GMT, nhưng nhãn xaxis trong Flot là +0 GMT. Vì vậy, tôi tự hỏi nếu có một khả năng để thiết lập một bù đắp cho múi giờ hoặc một cái gì đó tương tự.Hiển thị chú giải công cụ với đúng múi giờ bằng cách sử dụng Flot jQuery plugin
JSON My (tạo ra bởi AJAX)
[1300087800000,29],
[1300088700000,39],
[1300089600000,46],
[1300090500000,53],
[1300091400000,68],
[1300092300000,95],
...
chức năng tooltip My
$(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);
});
Các Flot tùy chọn
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 }
};
nhưng tiếc là timeZoneOffset
không hoạt động và tôi vẫn có sự khác biệt giữa xaxis và chú giải công cụ.
Bạn có ý tưởng nào về cách giải quyết vấn đề của mình không?
chênh lệch múi giờ được cung cấp bởi '(new Date()) là gì getTimezoneOffset()'? – justkt
@justki "-120", nó được thể hiện bằng phút – Vlad
Không có vấn đề gì tôi đặt, sự khác biệt giữa xaxis và thời gian chú giải công cụ luôn là 2 giờ ... – Vlad