gpt4 book ai didi

javascript - Highcharts 多系列数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:08 25 4
gpt4 key购买 nike

我寻求一些帮助,因为我找不到另一个线程来解决我的问题。我正在使用 HighCharts 渲染一张包含温度和湿度值的图表,并保存在本地数据库中。每个值都带有其类型(temphumi)、进行测量的传感器、datetime 以了解何时进行测量,以及用于计算实际温度和湿度值的系数的 ID。我想要渲染一个图表,其中每个系列都是一个传感器,传感器保存在我的数据库中的两种类型的值。我可以在数据库中拥有最多 24 个具有相同日期时间的 24 个温度和 24 个湿度的传感器

首先我不知道我是否可以做一些对象定义以直接在 HighCharts 中使用它们,所以现在,我有很多数组。我不明白系列选项的工作方式,有很多东西,我迷路了。我刚从 C++ 转到 JS 和 PHP,所以我很难改变我的习惯 ^^

无法在此处上传我的表格,但我可以托管它 here

如果不能只制作一张图表,我可以制作两张图表:一张有温度,一张有湿度(比如标签?)。

谢谢你:)


编辑:这是我用来测试图表的 JSON:

{“类型”:[“temp”,“humi”,“temp”,“humi”,“temp”,“humi”,“temp”,“humi”],“capteur”:[“1” ,"1","3","3","1","1","3","3"],"日期":["1432654910","1432654910","1432654910","1432654910""1432742599","1432742599","1432742599","1432742599"],"valeur":["6626","1220","6357","1168","6782","1118","6329""994"],"系数":["0","0","0","0","0","0","0","0"]}

这里是我的 JS 函数,用于将 JSON 转换为我需要的数组:

函数排列数据(数据):

    var result = {
"temp" : {
"capteur" : [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], "date" : []
},
"humi" : {
"capteur" : [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], "date" : []
}
};
for(var i in data.type){
if(data.type[i].localeCompare("temp") == 0){
result.temp.capteur[data.capteur[i] - 1].push(data.valeur[i]);
if(result.temp.date.length != 0){
if(result.temp.date[result.temp.date.length - 1].getTime() != data.date[i] * 1000)
result.temp.date.push(new Date(data.date[i] * 1000));
}
else
result.temp.date.push(new Date(data.date[i] * 1000));
}
else{
result.humi.capteur[data.capteur[i] - 1].push(data.valeur[i]);
if(result.humi.date.length != 0){
if(result.humi.date[result.humi.date.length - 1].getTime() != data.date[i] * 1000)
result.humi.date.push(new Date(data.date[i] * 1000));
}
else
result.humi.date.push(new Date(data.date[i] * 1000));
}
}
console.log(result);
return result;

然后我将“结果”传递给 setChart,如下所示:

setChart(chart_temp, name, data.temp.date, data.temp.capteur);

最佳答案

感谢 Sebastian Bochan,我现在可以使用 HighCharts 以及从输出 JSON 数据的 PHP 文件下载的数据。

我必须以这种方式解析数组中的 JSON 数据:data:{ temp:{ [datetime, value], ...}, humi:{ [datetime, value], ...}};x 轴是日期时间,y 轴是我的传感器报告的值。

在图表中,我在 for 循环中执行 chart.addSeries({name: name[i], data: data[i]});,其中 chart 是我要设置的图表,name 是每个系列的名称数组,data[ datetime, value]temphumi 数组。

关于javascript - Highcharts 多系列数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30576624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com