首先。 Flot的數據參數是一系列數組。每個序列都是一個點的數組,每個點是一個由兩個值組成的數組:x和y。所以你的數據應該是這樣的:
var data = [ [
[1301634000000, 315.71], //Apr 1, 2011
[1302238800000, 209.21], //Apr 8, 2011
[1302843600000, 420.36], //Apr 15
[1303448400000, 189.86], //4/22
[1304053200000, 314.93], //4/29
[1304658000000, 279.71], //5/6
[1305262800000, 313.34], //5/13
[1305867600000, 114.67], //5/20
[1306472400000, 315.58] //5/27
] ];
Next Flot將你的[7,「day」]轉換爲[0.25,「month」]。它只接受很多minTickSize的值(在源代碼中搜索「spec」)。
這意味着你必須提供刻度值自己。最簡單的辦法就是把你的x軸的值從第一個數據系列,創建一個蜱陣列,並傳遞到x軸的散列:
var ticks = [];
for (var i = 0; i < data[0].length; i++) {
ticks.push(data[0][i][0]); //corrected the missing closing bracket here..
}
然後
$.plot($("#placeholder"), data, {
xaxis: {
mode: "time",
ticks: ticks,
timeformat: "%m/%d",
min: (new Date(2011, 2, 31)).getTime(),
max: (new Date(2011, 4, 31)).getTime()
},
..etc..
想通了,爲什麼圖表不顯示..我有毫秒添加不正確。因此,圖表現在可以在我的開發環境中正確顯示,但圖表仍然具有不正確的刻度標記,因爲它們之間的間隔不是完全相隔7天。該屏幕截圖是在http://imageshack.us/photo/my-images/684/flotchart.png/ 然而,在的jsfiddle圖表不顯示在所有。更新後的鏈接是:jsfiddle.net/UEePE/583。也在上面的原始帖子中更正了。 – Harman