Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts:对多个CSV文件中的x轴值进行排序_Javascript_Jquery_Csv_Highcharts - Fatal编程技术网

Javascript Highcharts:对多个CSV文件中的x轴值进行排序

Javascript Highcharts:对多个CSV文件中的x轴值进行排序,javascript,jquery,csv,highcharts,Javascript,Jquery,Csv,Highcharts,我成功地从3个CSV文件生成了一个图表,问题是它们的x轴值没有排序 这是我的建议 我曾尝试将所有数据存储到一个数组变量中,然后对其进行排序,但我似乎无法理解 一段代码(请查看演示): 。。。 我已成功将Highcharts日期时间类型x轴的字符串日期转换为历元时间,但出现以下错误:未捕获类型错误:无法读取null的属性“3” $.each(lines, function (lineNo, line) { var items = line.split(',');

我成功地从3个CSV文件生成了一个图表,问题是它们的x轴值没有排序

这是我的建议

我曾尝试将所有数据存储到一个数组变量中,然后对其进行排序,但我似乎无法理解

一段代码(请查看演示):

。。。 我已成功将Highcharts日期时间类型x轴的字符串日期转换为历元时间,但出现以下错误:
未捕获类型错误:无法读取null的属性“3”

 $.each(lines, function (lineNo, line) {
        var items = line.split(',');
        if (lineNo > 0) {
            var parts = items[0].match(/(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})/);
            d.push([Date.UTC(+parts[3], parts[1] - 1, +parts[2], +parts[4], +parts[5]), parseFloat(items[1])]);

        }
    });

我设法解决了这个问题,我所做的就是将日期和时间(字符串)转换为历元,类似这样:

$.each(lines2, function (lineNo, line) {
    var items = line.split(',');
    if (lineNo > 0 && lineNo < lines2Len) {
        var parts = items[0].match(/(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})/);
        f.push([Date.UTC(+parts[3], parts[1] - 1, +parts[2], +parts[4], +parts[5]), parseFloat(items[1])]);
    }
});
$。每个(第2行,函数(第2行,第2行){
var items=line.split(',');
如果(lineNo>0&&lineNo
Highcharts将进行排序。 感谢@Sebastian Bochan的创意。
您可以在此处查看最终输出:

您的数据(时间)不在时间戳中,Highcharts需要排序数据。在创建csv时,您可以使用排序的值填充该csv。因此,您应该在创建CSVOk之前对UI进行排序,可以对数据进行排序吗?因为我无法更改CSV文件。它是生成的。您可以加载csv,将其推入数据数组,并通过预排序功能进行排序。是的,但是当我尝试获取所有值并将其存储在数组中时,Highcharts似乎停止工作,并且没有抛出错误。谢谢,我会查看它并尝试。
$.each(lines2, function (lineNo, line) {
    var items = line.split(',');
    if (lineNo > 0 && lineNo < lines2Len) {
        var parts = items[0].match(/(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})/);
        f.push([Date.UTC(+parts[3], parts[1] - 1, +parts[2], +parts[4], +parts[5]), parseFloat(items[1])]);
    }
});