我使用以下代码段来显示我的图表:
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月。
如何确保正确显示月份。
提前致谢。
答案 0 :(得分:0)
我注意到你的代码中有一些'无序'。
tickRenderer
应该在rendererOptions
参数之外。
此外,它周围和渲染器类别周围的引号也没有必要。
我想让你想要每个间隔一个月的蜱?
因此,请改用tickInterval参数。例如:tickInterval: "1 months"
Just like I showed in my other answer.
修改强>
我把它分类了。显然,没有必要限制蜱的数量,因为它们被错误地计算。因为要从tickInterval
中受益,您必须使用min
和max
参数,因此,让脚本计算出刻度数是正确的,对吧? :)
因此,要让它以您想要的方式工作,只需删除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日。