我有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文件,也可以使用以前的数据显示可视化。即使刷新页面并重新选择密钥也会发生这种情况
答案 0 :(得分:2)
d3.csv(selectedKey +".csv"+'?' + Math.floor(Math.random() * 1000), function(data){}
将解决问题