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。

当您使用ticksdateAxisRendererfunction时,您获得的有趣结果( 希望这是您想要的 )。 我将在下面的示例中显示。 在这里,保留读数之间的时间间隔的间隙,并且正确地绘制所有值。 注意minmaxtickInterval也没有影响,因为我们使用ticks。

顺便说一句:如果您仍希望在图表周围留下一些空白,您可以应用此答案的编辑中提供的方法 。