JQ图不能正确显示月份

时间:2012-04-26 12:12:16

标签: jqplot

我使用以下代码段来显示我的图表:

     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年1月,2012年1月,2012年3月,2012年4月。

在进一步调试时,我发现第二点实际上是2012年1月31日,应用格式显示为2012年1月。

如何确保正确显示月份。

提前致谢。

1 个答案:

答案 0 :(得分: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天。 如果我们将天数除以numberTicks - 1(即4),我们得到30.5。因此,我们有1月1日,1月31日,3月1日,3月31日和5月1日。