2015-09-17 2 views
0

Я работаю с jqPlot, чтобы сделать некоторые линейные графики данных с течением времени, но я запутался в странную проблему - похоже, что это может быть ошибка в самом плагине, но я не конечно, что вызывает это.jqPlot DateAxisRenderer x ось перекрывается сама

В основном, происходит то, что ось графика x переходит в «конец» графика, а затем возвращается примерно на половину тика и продолжается с остальными его данными.

function plot(plotName){ 
    $.jqplot.config.enablePlugins = true; 
    $('#' + plotName).empty(); 
    var obj = plots[plotName]; 

    var chartOptions = { 
      sortData: false, 
      seriesDefaults: { 
        lineWidth:1, 
        rendererOptions: { 
          highlightMouseOver: true, 
          smooth: true 
        }, 
        markerOptions:{ 
          show:false 
        } 
      }, 
      axes: { 
      }, 
      grid: { 
        background:"#FFFFFF" 
      } 
    }; 

    var data = obj.result; 
    var params = obj.request; 
    var seriesOptions = []; 
    var chartData = []; 
    var options = chartOptions; 

    for(var i=0;i<data.length;i++){ 
      var obj = data[i]; 
      chartData.push(obj.elements); 
      var option = {label:obj.label} 

      seriesOptions.push(option); 
    } 
    options.series = seriesOptions; 
    options.axes.xaxis = { 
      label: "Dates", 
      renderer: $.jqplot.DateAxisRenderer 
    } 

    $.jqplot(plotName,chartData, options); 
} 
plots.plot0 = {"result":[{"z_value":null,"x_markers":[],"label":"A1","y_axis":"A5","elements":[["2014-01-01",null],["2014-01-02",79.02],["2014-01-03",77.28],["2014-01-06",77.7],["2014-01-07",77.15],["2014-01-08",77.64],["2014-01-09",76.65],["2014-01-10",76.13],["2014-01-13",76.53],["2014-01-14",78.06],["2014-01-15",79.62],["2014-01-16",79.18],["2014-01-17",77.24],["2014-01-20",null],["2014-01-21",78.44],["2014-01-22",78.79],["2014-01-23",79.45],["2014-01-24",78.01],["2014-01-27",78.64],["2014-01-28",72.36],["2014-01-29",71.54],["2014-01-30",71.4],["2014-01-31",71.51],["2014-02-03",71.65],["2014-02-04",72.68],["2014-02-05",73.23],["2014-02-06",73.22],["2014-02-07",74.24],["2014-02-10",75.57],["2014-02-11",76.57],["2014-02-12",76.56],["2014-02-13",77.78],["2014-02-14",77.71],["2014-02-17",null],["2014-02-18",78.0],["2014-02-19",76.77],["2014-02-20",75.88],["2014-02-21",75.04],["2014-02-24",75.36],["2014-02-25",74.58],["2014-02-26",73.91],["2014-02-27",75.38],["2014-02-28",75.18],["2014-03-03",75.39],["2014-03-04",75.89],["2014-03-05",76.05],["2014-03-06",75.82],["2014-03-07",75.78],["2014-03-10",75.85],["2014-03-11",76.58],["2014-03-12",76.66],["2014-03-13",75.81],["2014-03-14",74.96],["2014-03-17",75.25],["2014-03-18",75.91],["2014-03-19",75.89],["2014-03-20",75.53],["2014-03-21",76.12],["2014-03-24",77.03],["2014-03-25",77.86],["2014-03-26",77.11],["2014-03-27",76.78],["2014-03-28",76.69],["2014-03-31",76.68],["2014-04-01",77.38],["2014-04-02",77.51],["2014-04-03",76.97],["2014-04-04",75.97],["2014-04-07",74.78],["2014-04-08",74.78],["2014-04-09",75.76],["2014-04-10",74.78],["2014-04-11",74.23],["2014-04-14",74.53],["2014-04-15",73.99],["2014-04-16",74.14],["2014-04-17",74.99],["2014-04-18",null],["2014-04-21",75.88],["2014-04-22",75.96],["2014-04-23",74.96],["2014-04-24",81.11],["2014-04-25",81.71],["2014-04-28",84.87],["2014-04-29",84.62],["2014-04-30",84.3],["2014-05-01",84.5],["2014-05-02",84.65],["2014-05-05",85.85],["2014-05-06",84.92],["2014-05-07",84.62],["2014-05-08",84.0],["2014-05-09",83.65],["2014-05-12",84.69],["2014-05-13",84.82],["2014-05-14",84.84],["2014-05-15",84.12],["2014-05-16",85.36],["2014-05-19",86.37],["2014-05-20",86.39],["2014-05-21",86.62],["2014-05-22",86.75],["2014-05-23",87.73],["2014-05-26",null],["2014-05-27",89.38],["2014-05-28",89.14],["2014-05-29",90.77],["2014-05-30",90.43],["2014-06-02",89.81],["2014-06-03",91.08],["2014-06-04",92.12],["2014-06-05",92.48],["2014-06-06",92.22],["2014-06-09",93.7],["2014-06-10",94.25],["2014-06-11",93.86],["2014-06-12",92.29],["2014-06-13",91.28],["2014-06-16",92.2],["2014-06-17",92.08],["2014-06-18",92.18],["2014-06-19",91.86],["2014-06-20",90.91],["2014-06-23",90.83],["2014-06-24",90.28],["2014-06-25",90.36],["2014-06-26",90.9],["2014-06-27",91.98],["2014-06-30",92.93],["2014-07-01",93.52],["2014-07-02",93.48],["2014-07-03",94.03],["2014-07-04",null],["2014-07-07",95.97],["2014-07-08",95.35],["2014-07-09",95.39],["2014-07-10",95.04],["2014-07-11",95.22],["2014-07-14",96.45],["2014-07-15",95.32],["2014-07-16",94.78],["2014-07-17",93.09],["2014-07-18",94.43],["2014-07-21",93.94],["2014-07-22",94.72],["2014-07-23",97.19],["2014-07-24",97.03],["2014-07-25",97.67],["2014-07-28",99.02],["2014-07-29",98.38],["2014-07-30",98.15],["2014-07-31",95.6],["2014-08-01",96.13],["2014-08-04",95.59],["2014-08-05",95.12],["2014-08-06",94.96],["2014-08-07",94.48],["2014-08-08",94.74],["2014-08-11",95.99],["2014-08-12",95.97],["2014-08-13",97.24],["2014-08-14",97.5],["2014-08-15",97.98],["2014-08-18",99.16],["2014-08-19",100.53],["2014-08-20",100.57],["2014-08-21",100.58],["2014-08-22",101.32],["2014-08-25",101.54],["2014-08-26",100.89],["2014-08-27",102.13],["2014-08-28",102.25],["2014-08-29",102.5],["2014-09-01",null],["2014-09-02",103.3],["2014-09-03",98.94],["2014-09-04",98.12],["2014-09-05",98.97],["2014-09-08",98.36],["2014-09-09",97.99],["2014-09-10",101.0],["2014-09-11",101.43],["2014-09-12",101.66],["2014-09-15",101.63],["2014-09-16",100.86],["2014-09-17",101.58],["2014-09-18",101.79],["2014-09-19",100.96],["2014-09-22",101.06],["2014-09-23",102.64],["2014-09-24",101.75],["2014-09-25",97.87],["2014-09-26",100.75],["2014-09-29",100.11],["2014-09-30",100.75],["2014-10-01",99.18],["2014-10-02",99.9],["2014-10-03",99.62],["2014-10-06",99.62],["2014-10-07",98.75],["2014-10-08",100.8],["2014-10-09",101.02],["2014-10-10",100.73],["2014-10-13",99.81],["2014-10-14",98.75],["2014-10-15",97.54],["2014-10-16",96.26],["2014-10-17",97.67],["2014-10-20",99.76],["2014-10-21",102.47],["2014-10-22",102.99],["2014-10-23",104.83],["2014-10-24",105.22],["2014-10-27",105.11],["2014-10-28",106.74],["2014-10-29",107.34],["2014-10-30",106.98],["2014-10-31",108.0],["2014-11-03",109.4],["2014-11-04",108.6],["2014-11-05",108.86],["2014-11-06",108.7],["2014-11-07",109.01],["2014-11-10",108.83],["2014-11-11",109.7],["2014-11-12",111.25],["2014-11-13",112.82],["2014-11-14",114.18],["2014-11-17",113.99],["2014-11-18",115.47],["2014-11-19",114.67],["2014-11-20",116.31],["2014-11-21",116.47],["2014-11-24",118.62],["2014-11-25",117.6],["2014-11-26",119.0],["2014-11-27",null],["2014-11-28",118.93],["2014-12-01",115.07],["2014-12-02",114.63],["2014-12-03",115.93],["2014-12-04",115.49],["2014-12-05",115.0],["2014-12-08",112.4],["2014-12-09",114.12],["2014-12-10",111.95],["2014-12-11",111.62],["2014-12-12",109.73],["2014-12-15",108.22],["2014-12-16",106.74],["2014-12-17",109.41],["2014-12-18",112.65],["2014-12-19",111.78],["2014-12-22",112.94],["2014-12-23",112.54],["2014-12-24",112.01],["2014-12-25",null],["2014-12-26",113.99],["2014-12-29",113.91],["2014-12-30",112.52],["2014-12-31",110.38]]}],"title":"A1","type":"time_series","end_date":"2015-01-01","start_date":"2001-01-01"}; 
plot("plot0"); 

Here's a fiddle.

Я бы не сказал, что я делаю что-нибудь особенно необычного здесь. Как вы можете видеть, независимо от того, насколько большой мой набор данных, я получаю ту же проблему. Кто-нибудь сталкивался с этим и решал его? Это на самом деле ошибка в плагине, или я делаю что-то немое здесь?

ответ

0

Очевидно, что средство рендеринга оси даты, в частности, имеет некоторую проблему с нулевыми значениями. Если другой визуализатор пропустит значение и переместится в следующую соответствующую позицию x, этот рендерер будет смещать значения на 1. Чем больше значений NULL у меня в моем наборе данных, тем больше будут искажены конечные точки. Теперь я отфильтровываю нулевые значения из своих данных, и теперь все работает правильно.

Смежные вопросы