我请求一些帮助,因为我找不到另一个线程来解决我的问题。我正在使用HighCharts渲染一个具有温度和湿度值的图表,保存在本地数据库中。每个值都带有其类型(temp
或humi
),进行测量的传感器,知道何时进行测量的datetime
以及用于计算实际温度和humi值的系数ID。 我想渲染一个图表,其中每个系列都是传感器,传感器上保存了两种类型的值。 我可以有多达24个传感器,24名临时工和24个humis与数据库中同一日期时间Highcharts与数据库的多个系列
首先,我不知道我是否可以做一些对象的定义直接在HighCharts使用它们,所以现在,我有很多数组。 我不明白该系列选项的工作方式,有很多东西,我迷路了。我刚刚从C++转换到JS和PHP,所以很难为我改变我的习惯^^
不能在这里上传我的表,但如果这是不可能的,才使我能够承载它here
一个图表,我可以做两个图表:一个温度在一个湿度下完成(如同一个标签?)。
谢谢:)
编辑:这里是我的JSON测试图表:
{ “类型”: “温度”, “腐殖”, “温度”, “HUMI”, “临时”, “HUMI”, “临时”, “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转换成数组,我需要:
功能arrangeData(数据):
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);
最简单的方法是准备任何从数据库获取数据并形成JSON(通过json_encode()函数)的脚本(如php)。然后在JavaScript中,您可以使用url调用$ .getJSON()到您的php并将数据分配给图表。 –
好的,我会这样做,但我如何安排我的json与HighCharts一起使用? 1)like [[1,2,3 ... 24] [2015-06-02,2015-06-02 ...] [6023,6101 ...] ...]?或 2)like [[1,2015-06-02,6023 ...] [2,2015-06-02,6101] ...]? –
对于每个点,它应该是[x,y]这样的数组,其中x是时间戳(以毫秒为单位的时间),y是数值。 –