Javascript 第二个实时更新图形未使用多个d3图表更新
有没有人曾经遇到过这样的问题:在两个单独的html容器中运行两个实时更新图,并且只有一个图更新了新数据?当页面上只有一个图形(任意一个图形)时,所有图形都工作,但当有两个图形时,两个图形都工作(它们是交互的),但其中一个不使用实时数据更新 我使用d3生成两个图表作为两个对象,并将每个图表放在一个单独的容器中(我有一个单独的脚本用于生成名为SomeChart.js的图表),然后在每个图表上调用updatedata方法: 我运行以下两个代码来创建变量:firstChart(在容器ID FirstChartContainerID中)secondChart(在容器ID SecondChartContainerID中) 然后使用SomeChart.js中的“update”方法更新每个图表Javascript 第二个实时更新图形未使用多个d3图表更新,javascript,html,graphics,d3.js,live,Javascript,Html,Graphics,D3.js,Live,有没有人曾经遇到过这样的问题:在两个单独的html容器中运行两个实时更新图,并且只有一个图更新了新数据?当页面上只有一个图形(任意一个图形)时,所有图形都工作,但当有两个图形时,两个图形都工作(它们是交互的),但其中一个不使用实时数据更新 我使用d3生成两个图表作为两个对象,并将每个图表放在一个单独的容器中(我有一个单独的脚本用于生成名为SomeChart.js的图表),然后在每个图表上调用updatedata方法: 我运行以下两个代码来创建变量:firstChart(在容器ID FirstCh
this.updateData = function(newData) {
j = data.length;
for(i = 0; i < newData.length; i++){
data[j] = {"time": parseDate(newData[i].time), "data": +(newData[i].data)}
j++;
}
redrawAxesContext(true); redrawYAxesFocus(true);
redrawLines();
$(container).trigger('LineGraph:dataModification')
}
this.updateData=函数(newData){
j=数据长度;
对于(i=0;i
这听起来像是范围界定问题或类似问题,其中一个图形没有正确引用。我们必须查看完整的代码(最好是类似的代码)才能进一步帮助您。您好,很抱歉回复太晚。我发现了错误,这与没有正确引用图形无关。这与我使用“if/elseif语句”测试传入数据有关,但忘记了第三个“else”条件。由于数据通常符合第三个“else”条件,因此没有添加数据,因此图形也没有更新。感谢您建议jsfiddle并回复@larskothoff!下次我会这么做的!
this.updateData = function(newData) {
j = data.length;
for(i = 0; i < newData.length; i++){
data[j] = {"time": parseDate(newData[i].time), "data": +(newData[i].data)}
j++;
}
redrawAxesContext(true); redrawYAxesFocus(true);
redrawLines();
$(container).trigger('LineGraph:dataModification')
}