Javascript 加州热图数据

Javascript 加州热图数据,javascript,json,d3.js,cal-heatmap,Javascript,Json,D3.js,Cal Heatmap,我正在尝试用动态数据填充热图日历()。因此,我从文件中提取不同的日期,并将其转换为毫秒,以创建日历所需的键值对 我是这样做的: var aux = {}; var dataJSON = {}; for(var i=0; i<activity.length; i++) { var date = new Date(activity[i].date); // Date of activity var ms = date.getTime(); // Da

我正在尝试用动态数据填充热图日历()。因此,我从文件中提取不同的日期,并将其转换为毫秒,以创建日历所需的键值对

我是这样做的:

var aux = {};
var dataJSON = {};
for(var i=0; i<activity.length; i++) {
   var date = new Date(activity[i].date);  // Date of activity
   var ms = date.getTime();                // Date Conversion
   aux[ms] = 1;                            // Pair "Key-Value" for calendar data
   dataJSON = JSON.stringify(aux);         // Convert to JSON format
}
但是,我无法在日历上看到结果。这是日历配置:

var cal = new CalHeatMap();
cal.init({
  itemSelector: "#cal-heatmap",
  domain: "month",
  subDomain: "x_day",
  start: new Date(init),
  data: dataJSON
});
不管怎样,我用这些静态数据进行了尝试,令人惊讶的是,它可以工作:

var dataJSON = {"1420498800":2,"1420585200":4,"1420671600":2,"1420758000":1,"1421103600":2,"1421190000":1,"1421276400":1,"1421362800":1,"1421622000":1,"1421708400":1,"1422226800":1,"1422313200":1,"1422399600":2,"1422486000":1,"1422572400":1,"1423695600":3,"1424127600":2,"1424214000":1,"1424300400":3,"1424386800":1,"1424646000":2,"1424732400":1,"1424818800":2,"1424905200":2,"1424991600":1,"1425337200":1,"1425855600":4,"1426201200":2,"1426460400":2,"1426546800":1,"1426633200":2,"1426719600":1,"1426806000":1,"1427065200":1,"1427151600":1,"1427238000":2,"1427324400":1,"1427670000":2,"1428361200":2,"1428447600":2,"1428534000":3,"1428620400":3,"1428966000":2,"1429138800":2,"1429225200":1,"1429484400":2,"1429570800":1,"1429657200":2,"1429743600":2,"1429830000":3};
另一方面,我从d3.js中得到以下GET错误:

GET http://localhost:9000/%7B%221426204800000%22:2,%2...2,%221433808000000%22:2,%221433721600000%22:2%7D

Aborted

希望您能告诉我我的错误,提前谢谢。

数据转换应该通过“后加载数据(data)”功能完成。因此,在我的例子中:

var parserData = function (data) {
  var dataJSON = {};

  for(var i=0; i<data.length; i++) {
    var date = new Date(data[i].date); // Date of activity 
    var sec = date.getTime()/1000; // Convert to sec

    // Pair "Key-Value" for calendar data
    if(dataJSON[sec]) {
      dataJSON[sec]++;
    } else {
      dataJSON[sec] = 1;
    }
  }

  return dataJSON;
}

var cal = new CalHeatMap();
cal.init({
   itemSelector: "#cal-heatmap",
   domain: "month",
   subDomain: "x_day",
   data: activity_sorted_by_date, // Dates Array
   afterLoadData: parserData      // Parser function
});
var parserData=函数(数据){
var dataJSON={};
对于(var i=0;i
var parserData = function (data) {
  var dataJSON = {};

  for(var i=0; i<data.length; i++) {
    var date = new Date(data[i].date); // Date of activity 
    var sec = date.getTime()/1000; // Convert to sec

    // Pair "Key-Value" for calendar data
    if(dataJSON[sec]) {
      dataJSON[sec]++;
    } else {
      dataJSON[sec] = 1;
    }
  }

  return dataJSON;
}

var cal = new CalHeatMap();
cal.init({
   itemSelector: "#cal-heatmap",
   domain: "month",
   subDomain: "x_day",
   data: activity_sorted_by_date, // Dates Array
   afterLoadData: parserData      // Parser function
});