在jsfiddle中加载外部csv文件

And*_*897 19 jsfiddle d3.js dc.js

我正在尝试为其中一个dc.js示例创建一个jsfiddle.我无法使用URL加载外部文件d3.csv().

有人可以建议如何使用d3.csvjsfiddle 加载csv文件.

Ame*_*aBR 28

我通常在JSFiddle示例中用于CSV数据的方法是

一个.将数据放在<pre>HTML标记末尾的块中,通常使用id"data".

湾 添加pre {display:none;}到CSS.

C.使用块的文本内容作为解析函数的输入,用d3.csv(filename, callback)调用替换函数调用.d3.csv.parse(text)<pre>

由于parse函数不使用回调,它只返回数据数组,您需要将该输出保存在与回调数据参数同名的变量中.

换句话说,如果您的示例看起来像

d3.csv("data.csv", function(error, data) {

   if(error){console.log("Could not read " + "data.csv");

   /* Do something with `data` here */

});
Run Code Online (Sandbox Code Playgroud)

JSFiddle友好版本看起来像:

//d3.csv("data.csv", function(error, data) {

//   if(error){console.log("Could not read " + "data.csv");

var data = d3.csv.parse( d3.select("pre#data").text() );

   /* Do something with `data` here */

//});
Run Code Online (Sandbox Code Playgroud)

如果您希望拥有一个使用文件读取方法的完整工作示例,则可以在注释中提及其他选项. 我认为支路还允许外部数据文件.

  • 对于d3的第4版,使用:`d3.csvParse(d3.select("pre#data").text());` (5认同)
  • PS [这是使用上述技术的一个例子](http://fiddle.jshell.net/NYpHG/2/); 它来自[此问答](http://stackoverflow.com/a/21567970/3128209).[这是另一个例子](http://jsfiddle.net/KjrGF/12/),它最初有四个不同的数据文件 - 所有这些都作为单独的`<pre>`块被插入小提琴中; 您还可以在代码中看到原始文件读取调用.该示例来自[此问答](http://stackoverflow.com/a/21923560/3128209). (4认同)