Javascript D3:如何使用本地JSON数据构建热图

Javascript D3:如何使用本地JSON数据构建热图,javascript,json,d3.js,Javascript,Json,D3.js,我正在尝试使用JSON对象中存储的动态数据构建昼夜热图,但未能成功。 我可以使用本地存储的tsv文件 下面是代码示例。 我只想读取“data”变量,它是一个json 我指的是:试试这个 我已经使用过很多次了,它工作得很好,而且使用起来很简单。如果我没有弄错你的问题 您想知道如何将Json文件或Javascript对象传输到D3数据中 对吧? 我不知道你是否读过文档中关于d3.tsv的章节 TSV的工作原理与CSV一样,唯一的区别是分隔符 正如您可能在示例代码中注意到的那样: d3.tsv(&qu

我正在尝试使用JSON对象中存储的动态数据构建昼夜热图,但未能成功。 我可以使用本地存储的tsv文件

下面是代码示例。 我只想读取“data”变量,它是一个json

我指的是:

试试这个


我已经使用过很多次了,它工作得很好,而且使用起来很简单。

如果我没有弄错你的问题

您想知道如何将Json文件或Javascript对象传输到D3数据中

对吧?

我不知道你是否读过文档中关于d3.tsv的章节

TSV的工作原理与CSV一样,唯一的区别是分隔符

正如您可能在示例代码中注意到的那样:

d3.tsv("data_heatmap.tsv",
function(d) {
  return {
    row:   +d.row_idx,
    col:   +d.col_idx,
    value: +d.log2ratio
  };
},
function(error, data) {...}
在这里的文件中

d3.csv(url[,访问器],回调])

对指定url处的逗号分隔值(CSV)文件发出HTTP GET请求

可以指定一个可选的访问器函数,然后将其传递给d3.csv.parse

我上面引用的片段只是将TSV数据转换为Javascript对象的访问器

换句话说,D3不会处理TSV或CSV格式的数据,它只处理已解析的Javascript对象

函数回调:这是片段中的
函数(err,data){…}
。 它处理数据分析和图形绘制

那么我们应该如何处理对象呢?

只需将其传递给您在
d3.tsv(文件、访问器、回调)
中调用的
回调函数即可

它的工作方式与调用TSV文件的方式相同



希望有帮助。

如果没有任何代码/数据,我们将无法正确地帮助您。什么不起作用?我无法成功,但信息量不大。//这是有效的:d3.tsv(“data.tsv”,函数(d){return{row:+d.row_idx,col:+d.col_idx,value:+d.magnity};},函数(error,data){console.log(JSON.stringify(data));var colorScale=d3.scale.quantile().domain([0,bucket-1,d3.max(数据,函数(d){return d.value;})]).range(colors)//但是我想使用局部变量//data=JSON.stringify(jsondata);不在评论里!更新您的问题。我想从局部变量而不是外部文件传递对象。我正在动态收集数据。那么我怎样才能传递一个变量而不是文件。@Faiyaz。正如我所解释的,当你处理一个tsv时,你会得到这个文件,对它进行解析,并将解析后的数据导入回调函数。现在,您只需通过管道将数据导入回调函数。如果需要解析,请手动解析。