Javascript 从CSV基本示例读取HighCharts

Javascript 从CSV基本示例读取HighCharts,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我不熟悉highcharts和JS,我正在尝试从csv文件(data3.csv)中绘制数据 以下是目前的代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; char

我不熟悉highcharts和JS,我正在尝试从csv文件(data3.csv)中绘制数据

以下是目前的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highcharts Example</title>


        <!-- 1. Add these JavaScript inclusions in the head of your page -->
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript" src="highcharts.js"></script>
        <!--[if IE]>
            <script type="text/javascript" src="../js/excanvas.compiled.js"></script>
        <![endif]-->


        <!-- 2. Add the JavaScript to initialize the chart on document ready -->
        <script type="text/javascript">
        $(document).ready(function() {


            var options = {
                chart: {
                    renderTo: 'container',
                    defaultSeriesType: 'line'
                },
                title: {
                    text: 'Stock Chart'
                },
                xAxis: {
                    categories: []
                },
                yAxis: {
                    title: {
                        text: 'Price'
                    }
                },
                series: []
            };

            $.get('data3.csv', function(data) {

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

                var series = {
                    data: []
                };

                $.each(items, function(itemNo, item) {
                    if (itemNo == 0) {
                        series.name = item;
                    } else {
                        series.data.push(parseFloat(item));
                    }
                });

                options.series.push(series);

                });

                var chart = new Highcharts.Chart(options);
            });
        });

        </script>

    </head>
    <body>

        <!-- 3. Add the container -->
        <div id="container" style="width: 800px; height: 400px; margin: 0 auto"></div>


    </body>
</html>
然而,这并没有给出图表(只是给出标题)

有人能告诉我哪里出了问题吗

谢谢你排好队

var items = line.split(',');
你应该用逗号,但你有空间。因此,您可以将该行替换为:

var items = line.split(' ');
或生成以逗号分隔的csv项目

因此,您的解析器应该如下所示:

$.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(',');
        if(lineNo>0)
        {
            options.xAxis.categories.push(items[0]); //set first column from CSV as categorie
            options.series[0].data.push(parseFloat(items[1])); //set second column from CSV as point value
        }

    });

    // Create the chart
    var chart = new Highcharts.Chart(options);
});
一致

var items = line.split(',');
你应该用逗号,但你有空间。因此,您可以将该行替换为:

var items = line.split(' ');
或生成以逗号分隔的csv项目

因此,您的解析器应该如下所示:

$.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(',');
        if(lineNo>0)
        {
            options.xAxis.categories.push(items[0]); //set first column from CSV as categorie
            options.series[0].data.push(parseFloat(items[1])); //set second column from CSV as point value
        }

    });

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

首先,这不是一个csv(逗号分隔值)文件。首先,这不是一个csv(逗号分隔值)文件。