Javascript Highcharts:对多个CSV文件中的x轴值进行排序
我成功地从3个CSV文件生成了一个图表,问题是它们的x轴值没有排序 这是我的建议 我曾尝试将所有数据存储到一个数组变量中,然后对其进行排序,但我似乎无法理解 一段代码(请查看演示): 。。。 我已成功将Highcharts日期时间类型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(',');
未捕获类型错误:无法读取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])]);
}
});