jqPlot日期轴 – 在错误的日子绘制的条形图?
这里很简单:
var dataHits = [['2011-10-16',1],['2011-11-05',7],['2011-11-06',1],['2011-11-09',2 ],[ '2011-11-12',5]]; var plot1 = $ .jqplot('chartHits',[dataHits],{ 标题:'Zobrazenia profilu spolu', seriesDefaults:{ 渲染:$ jqplot.BarRenderer, rendererOptions:{ barPadding:0,//相邻条之间的像素数 //组(相同类别或bin)。 barMargin:0,//相邻条形组之间的像素数。 barDirection:'vertical',//垂直或水平。 barWidth:10 } }, 轴:{ x轴:{ 渲染:$ jqplot.DateAxisRenderer, min:'2011-10-15', 最大:'2011-11-13', tickInterval:“2天”, tickOptions:{ formatString的: '%d%M' } }, Y轴: { min:0, tickInterval:1 } }, 荧光笔:{ 显示:是的, sizeAdjust:7.5 }, cursor:{ show:false } });
但生成的图形是错误的 – 第一个值被绘制好 – 在2011年10月16日,但所有其他值(条形图)定位不正确 – 比它们应该早一天(甚至它们的“工具提示”,当突出显示是好的,它们只是在x轴上的错误位置)。 知道如何解决这个问题吗?
见图:
我认为,一般来说,在处理条形图时,你应该总是使用刻度线来获得更好的情节。 同样针对您的问题,您在使用此方法时获得了有趣的结果,请参阅此处。 在这里,您需要记住,如果您不想在dataHits
中未指定的日期显示任何内容,则需要提供它们,并将它们赋值为0。
当您使用ticks
和dateAxisRenderer
function时,您获得的有趣结果( 希望这是您想要的 )。 我将在下面的示例中显示。 在这里,保留读数之间的时间间隔的间隙,并且正确地绘制所有值。 注意min
, max
和tickInterval
也没有影响,因为我们使用ticks。
顺便说一句:如果您仍希望在图表周围留下一些空白,您可以应用此答案的编辑中提供的方法 。