2012-04-26 42 views
1

我使用下面的代碼片斷顯示我的圖表:JQ情節不顯示月正常

 xaxis: { 
     min: '2012-01-01 00:00:00.0', 
     max: '2012-04-01 00:00:00.0', 
     renderer : "$.jqplot.DateAxisRenderer", 
     rendererOptions : { 
      "tickRenderer" : "$.jqplot.CanvasAxisTickRenderer" 
     }, 
     numberTicks: 4, 
     showTickMarks : false, 
     tickOptions:{ 
      angle:0, 
      formatString:'%b %Y' 
     } 
    }, 

    Data :[ 
      ['2012-01-01 00:00:00.0', 0] 
     , ['2012-02-01 00:00:00.0', 0] 
     , ['2012-03-01 00:00:00.0', 0] 
     , ['2012-04-01 00:00:00.0', 0] 
    ] 

而不是顯示:2012年1月,2012年2月,2012年3月,2012年4月 它顯示:2012 一月,2012年1月,2012年3月,4月2012.

關於進一步調試我發現,第二點實際上是1月31日 - 2012年,其在應用格式顯示爲一月2012.

我怎麼能保證它顯示正確的月份。

在此先感謝。

+0

你能否提供一個jsfiddle示例(http://jsfiddle.net)來顯示你的問題?順便說一句,我想你錯過了'2012年1月,2012年2月,2012年3月,2012年4月',而不是展示:2012年1月,2012年2月,2012年3月,2012年4月。因爲它們都是一樣的。 – Boro 2012-04-26 17:19:08

+0

博羅,謝謝指出。 – Ashim 2012-04-30 04:05:23

回答

0

我注意到你的代碼中有一些'混亂'。 tickRenderer應該在參數rendererOptions之外。 此外,它周圍的報價和渲染器類是不必要的。

我在說你想要每個顯示一個月的時間間隔的刻度? 因此,請改用tickInterval參數。例如:tickInterval: "1 months"

Just like I showed in my other answer.

編輯: 我得到它排序。顯然,限制蜱的數量沒有意義,因爲它們被錯誤地計算在內。由於受益於tickInterval,您不得不使用minmax參數,因此,讓腳本找出滴答的數量是正確的,對嗎? :)

因此,要按照您想要的方式工作,只需刪除numberTicks即可。 It is shown here.

注: 我意識到爲什麼numberTicks行爲這種方式。這是因爲它使滴答聲之間的距離相等。

我們從2012年1月1日至5月1日有122天。 如果我們用天數除以天數1(即4)得到30.5。因此,我們有1月1日,1月31日,3月1日,3月31日和5月1日。

+0

感謝您的輸入,我嘗試了tickInterval屬性,但它不起作用。我已經把這些東西放在jsfiddle上: http://jsfiddle.net/ashim_mishra/RPnkZ/ 請告訴我,我做錯了什麼。另外如果你注意到,2月份的點數實際上是2012年1月31日。 – Ashim 2012-04-30 08:23:43

+0

@Ashim請參閱我的編輯。我明白這是你想要的,對吧? :) – Boro 2012-04-30 08:56:56

+0

非常感謝Boro的解決方案和準確的分析。 – Ashim 2012-04-30 14:20:41