我已经麻烦地解决了我的问题,我希望你能理解我。 在我的真实项目中,我连接了7个传感器,它们返回了这种结构的响应。
[{"id":"sensor1_ciclo1","sensor":1,"ciclo":"ciclo1","values":
[
{"voltaje":0,"corriente":11.175}
]
"sensor"
键表示传感器编号。我有7个输入无线电来代表每个传感器。关键“ciclo”,是传感器的属性。我可以过滤这个属性。虽然在这种情况下,我的所有数据都使用"ciclo": "ciclo1"
。在折线图中,我使用键"corriente"
和"voltaje"
绘制点。
在我的真实项目中,我根据一段时间获取数据,对于这种情况,我使用setInterval
3秒来模拟它们。我想用动画绘制与所选传感器对应的数据。如果选择了sensor1,我只想放入sensor1数据。
如果我更换传感器,我希望看到已经积累的数据,这是我的函数reloadPoints
的主要功能,累计值在oDataSensores
。 display
函数负责绘制数据,如果y轴上的限制大于250或-250,则重新调整图表。
我不知道如何修复它。最奇怪的是,如果我评论这一行,
Array.prototype.push.apply(oDataSensores[data[i].id].content.values, data[i].values);
它显然有效。但我需要通过传感器累积值,所以我不能删除这一行。我该如何解决?
要重现错误,请等待9秒,并且当添加sensor1中的第三行并重新调整图表(> 250)时,会出现此问题。
添加新点时我想要实现的过程
这是我的代码:
http://plnkr.co/edit/1s25ZVEM0pWZPkVJGart?p=preview
{
"sensor1_ciclo1":{ "contador":0, "sensor":1, "content":[] },
"sensor1_ciclo2":{ "contador":0, "sensor":1, "content":[] },
"sensor1_ciclo3":{ "contador":0, "sensor":1, "content":[] },
"sensor2_ciclo1":{ "contador":0, "sensor":2, "content":[] },
"sensor2_ciclo2":{ "contador":0, "sensor":2, "content":[] },
"sensor2_ciclo3":{ "contador":0, "sensor":2, "content":[] },
"sensor3_ciclo1":{ "contador":0, "sensor":3, "content":[] },
"sensor3_ciclo2":{ "contador":0, "sensor":3, "content":[] },
"sensor3_ciclo3":{ "contador":0, "sensor":3, "content":[] },
"sensor4_ciclo1":{ "contador":0, "sensor":4, "content":[] },
"sensor4_ciclo2":{ "contador":0, "sensor":4, "content":[] },
"sensor4_ciclo3":{ "contador":0, "sensor":4, "content":[] },
"sensor5_ciclo1":{ "contador":0, "sensor":5, "content":[] },
"sensor5_ciclo2":{ "contador":0, "sensor":5, "content":[] },
"sensor5_ciclo3":{ "contador":0, "sensor":5, "content":[] },
"sensor6_ciclo1":{ "contador":0, "sensor":6, "content":[] },
"sensor6_ciclo2":{ "contador":0, "sensor":6, "content":[] },
"sensor6_ciclo3":{ "contador":0, "sensor":6, "content":[] },
"sensor7_ciclo1":{ "contador":0, "sensor":7, "content":[] },
"sensor7_ciclo2":{ "contador":0, "sensor":7, "content":[] },
"sensor7_ciclo3":{ "contador":0, "sensor":7,"content":[] }
};
答案 0 :(得分:1)
更改array.push的工作方式可以解决您的问题
aVoltamograma.push(data[i])