2015-09-03 3 views
0

Я анализирую данные CSV для размещения на диаграмме HighCharts. Мое поле даты находится в первой колонке, как это:JavaScript Дата преобразования в UTC на HighCharts

Time, Summary 
9/1/2015 12:00 AM,189 
9/1/2015 12:15 AM,202 

Для разбора данных, я использую это:

var dataSeries = [] 
    var lines = csv.split('\n'); 
    $.each(lines, function (lineNo, line) { 
     var items = line.split(','); 
     if (lineNo !== 0) { 
      var x = +new Date(items[0]), 
       summary = parseInt(items[1]); 
      dataSeries.push([x, summary]); 
     } 
    }); 

Когда данные размещены на моем графике, это, кажется UTC времени а не фактическое время, указанное в данных CSV. Моя диаграмма начинается в 5:00, а не в 12:00. Настроить мой график, как это:

var options = { 
     chart: { 
      backgroundColor: '#f6f6f6', 
      renderTo: 'chart1' 
     }, 
     xAxis: { 
      title: { 
       text: 'Hour' 
      }, 
      type: 'datetime', 
      dateTimeLabelFormats: { 
       day: '%b %e %l:%M %P', 
       hour: '%l:%M %P' 
      },      
     }, 
     yAxis: [{ 
      title: { 
       text: 'Average Whatever' 
      }, 
      min: 0, 
     },{opposite: true, min: 1}], 
     plotOptions: { 
      series: { 
       dataLabels: { 
        enabled: true 
       } 
      } 
     }, 
     series: [] 
    }; 

    var chart = new Highcharts.Chart(options); 
    chart.addSeries({ 
     name: 'Summaries',  
     data: dataSeries, 
     type: 'line', 
     marker: { enabled: true } 
    }); 
}); 

Вот ссылка на jsfiddle.

+0

попробуйте добавить 'pointstart: [значение начать с]' в вашей серии редактирования: на самом деле, вероятно, в ваших XAxis, после того, как ваши форматы добавить pointstart – Busturdust

+0

возможно добавить 'useUTC: false' в параметры – Busturdust

+0

Ни один из них, похоже, не имеет значения. – kittyhawk

ответ

0

попробовать что-то вроде этого, просто демо

$(function() { 
    $('#container').highcharts({ 
     xAxis: { 
      type: 'datetime' 
     }, 

     plotOptions: { 
      series: { 
       pointStart: Date.UTC(2015, 8, 1,12,0), 
       pointInterval: 3600 * 1000 // one hour 
      } 
     }, 

     series: [{ 
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
     }, { 
      data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2] 
     }] 
    }); 
}); 

http://jsfiddle.net/ddx0upcd/

+0

http://www.highcharts.com/demo/spline-irregular-time Демоверсии использования с нерегулярными интервалами времени – Busturdust

2

использования ниже функции до вашего highchart вызова. Это предотвратит дату, указанную как даты utc.

$(function() { 
    Highcharts.setOptions({ 
     lang : { 
      rangeSelectorZoom : ' ' 
     }, 
     global : { 
      useUTC : false 
     } 
    }); 
}); 
+0

jsFiddle demo: http://jsfiddle.net/2A7Zf/30/ –

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