【问题标题】:How to import an two values array to highcharts from csv file如何将两个值数组从 csv 文件导入到 highcharts
【发布时间】:2012-03-12 10:14:36
【问题描述】:

我尝试将单个数组从 csv 文件成功导入到 highcharts,就像 data-from-csv 说过。我也可以使用像

这样的系列
        series: [{
        name: 'Tokyo',
        data:[[0, 15], [1, 50], [2, 56.5], [4, 46.5], [8, 22.1], [16, 20]
    }, {
        name: 'London',
        data: [[0, 10], [1, 50], [2, 50], [4, 40], [8, 22], [16, 25]
    }]

在 javascript 字段中。

但是当我想从 csv 文件中导入两个值数组时,图表不起作用。代码

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

    // the rest of the lines contain data with their name in the first position
    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);
});

数据.csv:

data; [1, 12.97]; [4, 52.16]; [16, 208.96]; [64, 663.84]

图表可以显示数组名称“数据”,但不能显示线,谁能帮帮我,谢谢~

【问题讨论】:

    标签: arrays csv split highcharts


    【解决方案1】:

    问题在于下一行中的那个项目

    series.data.push(parseFloat(item));
    

    不是浮点数,而是两个值的数组。我认为您希望该行显示为:

    series.data.push(JSON.parse(item));
    

    【讨论】:

    • 是的,你是对的,我搜索了 javascript API 并发现 parseFloat 只返回字符串中的第一个数字。但是 JSON.parse 是一个 jquery API,我们不能在 javascript 函数中使用它。
    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多