在图形中显示xaxis标签时,我有一个Flot插件的问题.他们是“模式:”时间“”.目前我使用Flot与工具提示功能,工具提示包含日期和时间.
我将 JSON提供给包含时间戳的插件.之后,我转换时间戳,并在工具提示中显示它.问题是,在图形中显示数据的同时,由于时区之间的差异,工具提示的时间与插件生成的xaxis标签不对应.我的JSON时间戳是2 GMT,但是Flot中的xaxis标签是0 GMT.所以我想知道是否有可能设置偏移到时区或类似的东西.
我将 JSON提供给包含时间戳的插件.之后,我转换时间戳,并在工具提示中显示它.问题是,在图形中显示数据的同时,由于时区之间的差异,工具提示的时间与插件生成的xaxis标签不对应.我的JSON时间戳是2 GMT,但是Flot中的xaxis标签是0 GMT.所以我想知道是否有可能设置偏移到时区或类似的东西.
我的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和工具提示之间仍然有差异.
你有什么想法我应该如何解决我的问题?
解决方法
您可以尝试使用时区而不是timeZoneOffset.你的选项看起来像:
var plotOptions = { lines: { show: true,xaxis: { mode: "time",timezone: "browser" // "browser" for local to the client or timezone for timezone-js },clickable: false } };
我的版本是0.7