2014-11-06 2 views
-1

Я сделал функцию JavaScript, которая делает Highchart, чтение из файла CSV.Highchart из CSV-файла с JavaScript

<script> 
function Showgraph(){ 
var options = { 
    chart: { 
     renderTo: 'container', 
     defaultSeriesType: 'line' 
    }, 
    title: { 
     text: 'Measurement data' 
    }, 
    xAxis: { 
     categories: [], 
     title: { 
      text: 'Measurement number' 
      }, 
      labels: { 
       enable: false, 
      y:20, rotation: -45, allign: 'right' 
      } 
    }, 
    yAxis: { 
     title: { 
      text: 'Retro Reflection' 
     } 
    }, 
    series: [] 
}; 

$.get('data.csv', function(data) { 
    // Split the lines 
    var lines = data.split('\n'); 

    // Iterate over the lines and add categories or series 
    $.each(lines, function(lineNo, line) { 
     var items = line.split(','); 

     // header line containes categories 
     if (lineNo == 0) { 
      $.each(items, function(itemNo, item) { 
       if (itemNo > 0) options.xAxis.categories.push(item); 
      }); 
     } 

     // the rest of the lines contain data with their name in the first 
     // position 
     else { 
      var series = { 
       data: [] 
      }; 
      $.each(items, function(itemNo, item) { 
       if (itemNo == 0) { 
        series.name = item; 
       } else { 
        series.data.push(parseFloat(item)); 
       } 
      }); 

      options.series.push(series); 

     } 

    }); 

    // Create the chart 
    var chart = new Highcharts.Chart(options); 
}) 
} 
</script> 

Файл CSV, где x - числа.

Categories,xxx, 
0.2,xxx, 
0.33,xxx, 
0.5,xxx, 
0.7,xxx, 
1.0,xxx, 
1.5,xxx, 
2.0,xxx, 

Я тогда хотел, чтобы удалить значение: Категории, ххх, из файла CSV и изменить функцию JavaScript, так что она по-прежнему работает, но график не показывает никаких значений по оси Х.

Новый CSV файл

0.2,xxx, 
0.33,xxx, 
0.5,xxx, 
0.7,xxx, 
1.0,xxx, 
1.5,xxx, 
2.0,xxx, 

В основном, чтобы сделать Highchart из последнего, что CSV-файл.

ответ

0

Используйте этот анализатор:

$.each(lines, function(lineNo, line) { 
    var items = line.split(','); 


     var series = { 
      data: [] 
     }; 
     $.each(items, function(itemNo, item) { 
       series.data.push(parseFloat(item)); 
     }); 

     options.series.push(series); 


}); 

И удалить categories: [] из вариантов XAxis.