D3:如何使用本地JSON数据构造HeatMap

时间:2016-01-11 13:25:10

标签: javascript json d3.js

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

这是代码示例。 我只想阅读"数据"变量是一个json。

我指的是:http://bl.ocks.org/ianyfchang/8119685

2 个答案:

答案 0 :(得分:0)

如果我没有弄错你的问题,

您想知道如何将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) {...}

此处在文档Wiki>Reference>csv

  

d3.csv(url [[,accessor],callback])

     

在指定的网址上发出逗号分隔值(CSV)文件的HTTP GET请求。

     

...

     

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

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

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

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

那么我们应该用一个对象做什么?

只需将其传递给您在callback中调用的d3.tsv(file,accessor,callback)函数。

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

希望能帮助你。

答案 1 :(得分:-1)

尝试使用此http://cal-heatmap.com/

我已经使用了很多次,而且效果很好而且使用起来很简单。