0

我正在学习 JavaScript 并具有一些编程知识,并且通常最终可以解决问题,但是我遇到了 highcharts 的问题。

<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.9.1/jquery.min.js"></script>
        <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script>

        <!-- 2. Add the JavaScript to initialize the chart on document ready -->
        <script type="text/javascript">
            $(document).ready(function() {
                var options = {
                    chart: {
                        renderTo: 'container',
                        type: 'line'
                    },
                    title: {
                        text: 'Betting Performance'
                    },
                    xAxis: {
                        categories: []
                    },
                    yAxis: {
                        title: {
                            text: 'Yield (%)'
                        }
                    },
                    series: []
                };

                /*
                 Load the data from the CSV file. This is the contents of the file:

                 Apples,Pears,Oranges,Bananas,Plums
                 John,8,4,6,5
                 Jane,3,4,2,3
                 Joe,86,76,79,77
                 Janet,3,16,13,15

                 */
                $.get('data.csv', function(data) {
                    // Split the lines
                    var lines = data.split('\n');
                    $.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);

                        }

                    });
                    var chart = new Highcharts.Chart(options);
                });
            });
        </script>
    </head>
    <body>
        <!-- 3. Add the container -->
        <div id="container" style="width: 1200px; height: 800px; margin: 0 auto"></div>
    </body>
</html>

现在,我已经成功地完成了这项工作,并附上了下面的截图。

在此处输入图像描述 但正如您在底部看到的那样,有一个名为“系列 3”的系列

接下来是我的 CSV 文件作为纯文本

,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 ,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42 英里,-100,-100,-100,-58.75,-31 ,-9.17,9.63,18.3,29.08,38.5,41.19,43.56,46.79,39.45,32.81,26.77,28.64,18.71,24.52,28.53,29.04,24.87,20.96,17.28,20.6,18.27,9.20. 16.2,13.29,10.52,13.25,14.04,11.44,12.97,21.4,18.81,16.33,13.95,11.67,9.48 英里 2,-100,-100,-100,-58.75,-22,-9.17,9.63,18.3, 29.08,38.5,41.19,43.56,46.79,39.45,32.81,26.77,48.64,18.71,24.52,28.53,29.04,24.87,20.96,17.28,20.02,18.27,20.52,17.16,19.26,16.2,13.29,10.52,13.25, 14.04,11.44,12.97,21.4,18.81,16.33,13.95,11.67,9.48

正如您在图像中看到的那样,这可以很好地绘制到图表中。我制作了两组数据以突出显示多个系列的工作,并且拥有一个系列不是问题。所有数据点均从 1-42 号以适当的 y 值绘制。

我不知道额外的系列来自哪里以及为什么。我已经尽可能多地关注了 highcharts 演示,但我现在迷路了。

4

1 回答 1

1

正如 jack R Abbit 在评论中所发布的,excel 在 CSV 的末尾添加了空格。天知道为什么。删除那个空格解决了这个问题,笨蛋!再次感谢那些帮助过的人,希望其他人也会遇到这个问题并得到帮助。

问候

英里

于 2013-08-23T08:22:12.173 回答