2016-09-18 2 views
0

У меня возникают проблемы с данными типа: datetime в x-as. У меня есть диапазон дат с 01/07/2016 (dd/MM/yyyy) и 01/10/2016, но я не могу правильно отобразить график. Даты arent показаны правильно, и я получаю ошибку 15.HighCharts Line xas datetime

Я получаю данные (chartInfo.DataSetTime) в качестве словаря (строка, int). Строка содержит дату как 01/07/2016

Это то, что я получил:

var dataset = []; 

    $.each(chartInfo.DataSetTime, function (key, value) { 
     var datum = key.split('/'); 
     var dateke = new Date(datum[2], datum[1] - 1, datum[0]); 
     dataset.push([Date.UTC(dateke.getFullYear(), dateke.getMonth() ,dateke.getDay()), value]); 
      }); 

    for (var i in dataset) { 
     dataset[i].sort(function (a, b) { 
      if (a.x > b.x) { 
       return 1; 
      } 

      if (b.x > a.x) { 
       return -1; 
      } 

      return 0; 
     }); 
    } 

    console.log(dataset); 
     $('#container').highcharts({ 
      chart: { 
       zoomType: 'x', 
        defaultSeriesType: 'line', 
    renderTo: 'container' 
      }, 
      title: { 
       text: chartInfo.TitleChart 
      }, 
      subtitle: { 
       text: document.ontouchstart === undefined ? 
         'Klik en sleep in de grafiek om in te zoomen' : 'Swipe over de grafiek om in te zoomen' 
      }, 
      xAxis: { 
       type: 'datetime', 
       dateTimeLabelFormats: { // don't display the dummy year 
        month: '%e. %b', 
        year: '%b' 
       }, 
      }, 
      yAxis: { 
       title: { 
        text: chartInfo.TitleYas 
       } 
      }, 
      legend: { 
       enabled: false 
      }, 
      plotOptions: { 
       area: { 
        fillColor: { 
         linearGradient: { 
          x1: 0, 
          y1: 0, 
          x2: 0, 
          y2: 1 
         }, 
         stops: [ 
          [0, Highcharts.getOptions().colors[0]], 
          [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')] 
         ] 
        }, 
        marker: { 
         radius: 2 
        }, 
        lineWidth: 1, 
        states: { 
         hover: { 
          lineWidth: 1 
         } 
        }, 
        threshold: null 
       } 
      }, 

      series: [{ 
       type: 'area', 
       name: 'USD to EUR', 
       data: dataset.sort(function (a, b) { 
        return a[0] - b[0]; 
       }) 

      }] 
     }); 

Любая помощь приветствуется

+1

ли вы читать забавное руководство? http://www.highcharts.com/errors/15 –

+0

yup, обновленный вопрос. Попробовали сделать вид, но все же неправильные даты показаны, и график выглядит смешно – Kaizer

+0

Вам придется быть более конкретным, чем «выглядит смешно» :) – jlbriggs

ответ

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