Javascript 使用setInterval更新d3.js数据,而不是xAxis标签更新

Javascript 使用setInterval更新d3.js数据,而不是xAxis标签更新,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我做了一个类似于的D3JS示例,但不是用按钮更新数据,而是用setInterval更新数据,因为我每15分钟收到一个不同的JSON 出于这个原因,我每15秒都在寻找一个新的JSON。我在JSFidle上做了一个简单的例子,它使用setInterval并更新信息(如果存在)。更新数据的功能为“D3JS_update_fig”: 数据和时间变量已正确更新,绘制的线正在按预期更新。如下图所示,数据对应于每个15分钟的间隔(我使用了一个带有时间戳的Math.sin函数来模拟随机种子,每次更新时数据都是一

我做了一个类似于的D3JS示例,但不是用按钮更新数据,而是用setInterval更新数据,因为我每15分钟收到一个不同的JSON

出于这个原因,我每15秒都在寻找一个新的JSON。我在JSFidle上做了一个简单的例子,它使用setInterval并更新信息(如果存在)。更新数据的功能为“D3JS_update_fig”:

数据和时间变量已正确更新,绘制的线正在按预期更新。如下图所示,数据对应于每个15分钟的间隔(我使用了一个带有时间戳的Math.sin函数来模拟随机种子,每次更新时数据都是一致的)

问题在于,尽管行(y值和时间)已正确更新,但xAxis记号标签未更新。在我前面提到的例子()中,标签被更新,我正在做类似的事情,因此我没有发现代码中的问题


也许变量名有问题?也许jQuery的ID不对?我不知道…

看起来大部分都是正确的,但也有必要以以下方式在X轴上更新以下功能:

d3.select("#D3JS_graph_plot #lower_x_axis")
  .transition()
  .duration(750)
  .call(D3JS_lower_x_Axis)
  .selectAll("text")
     .style("text-anchor", "end")
     .attr("dx", "-0.3em")
     .attr("dy", "0.9em")
     .attr("transform", function(d) {
         return "rotate(-35)"
  });
其中#lower_x_轴是svg lower x轴的id属性(JSFIDLE示例中的第124行),而#D3JS_graph_plot是示例中称为“选择器”的图形的id

d3.select("#D3JS_graph_plot #lower_x_axis")
  .transition()
  .duration(750)
  .call(D3JS_lower_x_Axis)
  .selectAll("text")
     .style("text-anchor", "end")
     .attr("dx", "-0.3em")
     .attr("dy", "0.9em")
     .attr("transform", function(d) {
         return "rotate(-35)"
  });