2013-06-03 11 views
2

我用jQuery FLOT圖表掙扎,圖表是被填充精細與此數據:jQuery的FLOT圖表,以便通過日期

{"facebook_users":[["25",0],["26",0],["27",0],["28",0],["29",0],["30",0],["31",0],["01",0],["02",0],["03",0]],"email_users":[["25",0],["26",0],["27",0],["28",1],["29",1],["30",3],["31",1],["01",0],["02",0],["03",0]],"max":10}

製造該圖表:

enter image description here

您可能已經注意到,這是一張圖表,顯示通過電子郵件/地址在一天一天的基礎上註冊的用戶。問題在於它似乎會按照從1到XX的順序對JSON數據進行升序排序。由於這些數據長達7天,可能會出現月交叉,引發錯誤。

我仔細研究了project documentation,但找不到解決方案。圖表應該將數據顯示爲JSON,無需重新排序。

+0

您不能簡單地將月份添加到日期指示器嗎? (06/01,06/02等) – Archer

+0

@Archer我已經試過了,如果添加月份(通過放置06-01或06/01),那麼flot插件不會繪製任何內容。 – xavierhb

回答

2

Flot不重新排序數據;只是值是[x,y]對,並且X值爲1會繪製在x軸上的相同位置,而不管它出現在序列中的哪個位置。

有幾種方法來解決這個問題:

  • 使用時間插件,提供儘可能的時間戳,而不是幾天的值,然後使用「%d」的格式只提取當天部分。

  • 提供自己的節拍發生器功能來產生他們想要的順序,即30,31,1,...

  • 使用類插件來解釋值作爲字符串而不是數字。

+0

謝謝@DNS,我會嘗試你提到的並告訴你的解決方案。 – xavierhb

+1

我也發現這個非常有用[教程](http://www.jqueryflottutorial.com/how-to-make-jquery-flot-time-series-chart.html)關於時間序列 – xavierhb