我是新手。我正在尝试使用 jaavascript 制作一个简单的交互式图表。这个想法是,当我更改选择器中的值时,图表会更改正在使用的数据。
但是,我在数据切换方面遇到了麻烦。数据来自不同的网址。这些 URL 位于 CSV 文件中。我的代码从 CSV 文件中提取 url 并创建一个数组。然后它继续从数组的适当元素调用 CSV 文件。简化代码:
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
return ArrayOfStrings
};)
}
A = functionThatReturnsArray();
MoreCode;
//For example, the first value from A is selected
d3.csv(A[0], function(error, data) {
MoreCode;
})
问题是这似乎不是 d3.csv 的有效输入,因为它不起作用。我不知道我是否遗漏了某些东西,或者只是无法通过这种方式完成。
我搜索了一下,可能是因为 d3.csv 是一种异步方法,但我不确定这是否是问题所在。
如有任何建议,我们将不胜感激
最佳答案
您的第一个 CSV
数据正在异步加载,因此此函数不会返回任何内容
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
return ArrayOfStrings
};)
}
您可以将以下代码放入函数中
function processArray(A){
MoreCode;
//For example, the first value from A is selected
d3.csv(A[0], function(error, data) {
MoreCode;
})
}
并在第一个csv
加载回调中调用此函数
functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
processArray(ArrayOfStrings) //add this
};)
}
关于javascript - d3.从数组 javascript 调用 csv url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727608/