0

我刚刚开始使用 Highcharts JavaScript 插件,但是在遵循 Highcharts 网站上的文档之后,我似乎无法正确加载我的 CSV 文件。图表生成,并在加载数据时读取 CSV,但不是将数据直接加载到图表中,并从数据创建一条线,它只是将所有数据推送到底部的系列部分。这是我的代码:

<script type="text/javascript"     src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">

        var options = {
    chart: {
        renderTo: 'container',
        defaultSeriesType: 'line'
    },
    title: {
        text: 'wavenumber'
    },
    xAxis: {
            categories: []
    },
    yAxis: {
        title: {
            text: '% Transmission'
        }
    },
    series: []
};

$.get('1_phenol.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 文件的外观,这里有几行:

phenol
,
,
,
,
,
,
,
,
,
,
605,53.527874
610,53.527874
615,51.276432
620,57.655518
625,59.90696
630,61.032677
635,62.158401
640,62.908882
645,62.908882

因此,如果你们知道我如何调整代码以将 CSV 加载到容器的正确区域,那就太棒了。谢谢!

4

1 回答 1

0

我建议熟悉有关解析数据的文章http://docs.highcharts.com/#preprocesssing-data-from-a-file 。

您的 csv 是否与页面或外部服务器位于同一目录中?

于 2013-02-07T13:09:40.240 回答