d3.js数据在文件中发生更改时不刷新

xoshrz7s  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(189)

我有5个csv文件1.csv,2.csv.. 5.csv。我所做的是我有一个下拉列表。当我从下拉列表中选择一个特定的选项时,一个特定的文件将被加载和可视化。文件中的数据定期更改。但问题是当我选择一个特定的文件时,数据以某种方式存储在缓存中。因此,文件中的任何更改都不会发生。即使我从目录中删除文件,可视化效果也会在第一次加载数据时显示。我甚至尝试刷新页面。我的代码如下所示:

selector.on("change", function(d){
    var selectedKey = keys[this.selectedIndex];
    d3.csv(selectedKey +".csv", function(data){
console.log(selectedKey +".txt");
    //var format = d3.time.format("%m/%d/%Y %H:%M:%S");
    var format = d3.time.format("%Y/%m/%d %H:%M:%S");
    data.forEach(function (e){
            e.dist = +e.dist;
            e.speed = +e.speed;
            e.lat=+e.lat;
            e.lon=+e.lon;               
            e.dd=format.parse(e.time);
            //console.log(e.dd);
    });
    dataset=data;
    var ndx = crossfilter(data);
    dimx = ndx.dimension(function(d) {return d.bearing});
    g = dimx.group(function(v){return v;});
    var output = g.top(Infinity);

}

    });

有人能帮我找到问题吗?选择2.csv后,图表第一次显示良好。然后,当我更改2.csv中的数据时,可视化显示与以前的数据。即使我从目录中删除2.csv文件,可视化显示与以前的数据。即使在刷新页面并重新选择键后,也会发生这种情况

8qgya5xd

8qgya5xd1#

d3.csv(selectedKey +".csv"+'?' + Math.floor(Math.random() * 1000), function(data){}

会解决问题的

9cbw7uwe

9cbw7uwe2#

这是我一直在寻找答案的问题。我有d3显示在表上的csv数据。csv文件不断更新,但旧数据仍然显示,直到我刷新页面。我希望这个d3.csv(selectedKey +".csv"+'?' + Math.floor(Math.random() * 1000), function(data){}将工作。虽然,我的将是这样的东西d3.csv( "csvfile.csv"+'?' + Math.floor(Math.random() * 1000).then( function(data){})

相关问题