2011-07-05 34 views
1

我想要繪製在海軍報一些數據,應該及時模式顯示x-axis。在海軍報參考API並不表明minTickSize可以「周」接受爲單位,所以我指定的單位爲「天」與7值:日期顯示不正確的周線圖上的數據在海軍報

minTickSize: [7, "day"], 

這將顯示刻度大小分開7天在一些蜱中,相隔約8-9天。下面是該不一致蜱的例子:http://jsfiddle.net/UEePE/583/

我知道,圖表也沒有繪製簡單的線條,我期待。仍在努力尋找原因。當我從xaxis中移除除了mode:time之外的所有選項時,它似乎可以工作,但在添加其他選項時不起作用。

任何幫助就如何使海軍報添加蜱/間隔1周,以及如何使圖表繪製其實在這種情況下,行7天的讚賞。

謝謝!

+0

想通了,爲什麼圖表不顯示..我有毫秒添加不正確。因此,圖表現在可以在我的開發環境中正確顯示,但圖表仍然具有不正確的刻度標記,因爲它們之間的間隔不是完全相隔7天。該屏幕截圖是在http://imageshack.us/photo/my-images/684/flotchart.png/ 然而,在的jsfiddle圖表不顯示在所有。更新後的鏈接是:jsfiddle.net/UEePE/583。也在上面的原始帖子中更正了。 – Harman

回答

6

首先。 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.. 
+0

謝謝!我在你的文章中糾正了一個缺失的左括號,它在我的Dev中完美運行。環境。仍然不工作的jsfiddle雖然.. – Harman

+0

工作正常,我在[的jsfiddle(http://jsfiddle.net/JMBucknall/eQ2eb/) – jmbucknall

+0

我用這一點,但性能是下來的時候,我用這個。你能告訴我任何其他解決方案嗎? –