jqplot日期轴不显示右侧

时间:2013-02-15 10:14:00

标签: jquery time graph line jqplot


我有一个jqplot折线图

    $.jqplot('chartdiv1',  <?=$dataset?>,
            {
                title: 'GRAPT TITLE',
                axes: {
                    xaxis:{
                        label:"x axis",
                        renderer:$.jqplot.DateAxisRenderer,
                        tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
                        tickOptions:{formatString:'%d.%m.%y %H:%M:%S', angle: -30}
                    },
                    yaxis:{
                        label:"y axis",
                        labelRenderer: $.jqplot.CanvasAxisLabelRenderer
                    }
                },
                highlighter: {
                    show: true,
                    sizeAdjust: 7.5
                },
                cursor:{
                    show: true,
                    zoom:true,
                    showTooltip:false
                }
            });

它显示如此

为什么它在x轴上没有正确缩放?
值相差1分钟

1 个答案:

答案 0 :(得分:1)

为您的轴添加最小值:

axes: {
 xaxis: {
  label: "x axis",
  renderer: $.jqplot.DateAxisRenderer,
  tickRenderer: $.jqplot.CanvasAxisTickRenderer,
  tickOptions:{formatString:'%d.%m.%y %H:%M:%S', angle: -30},
  min: '2013-02-05 10:50',
  max: '2013-02-05 12:15',
  tickInterval: '1 hour', //only if you want to draw a tick each hour.
  autoscale: false        //only if you want to draw a tick each hour. 
 } 
}

修改

放大时,这是一种“正常”行为,可以使x轴的边界适应要绘制的数据。 如果 - 当您缩小时 - 您的绘图获得与开头相同的行为(空左中),您可以通过

禁用原生缩放重置
cursor:{
   clickReset: false, 
   dblClickReset: false
} 

在绘制绘图后添加一个新的双击事件处理程序:

$("#chartdiv1").dblclick(function(){resetZoomOnPlot(myplot);});
function resetZoomOnPlot(targetPlot){
  target.resetZoom();
  target.axes.xaxis.min = '2013-02-25 10:50';
  target.axes.xaxis.max = '2013-02-25 12:15';
  target.axes.xaxis._tickInterval = '1 hour';
  target.replot();    
}

myplot是包含你的情节的变量:var myplot = $.jqplot('chartdiv1', <?=$dataset?>, options);。而options是一个包含jqplot选项的变量:var options = {title: 'Graph title', axes: {...}...};