将D3.js输入格式从.csv更改为日期数组

时间:2017-04-09 12:33:52

标签: javascript arrays csv d3.js

我试图在我的网站上实现d3.js直方图,该直方图从solr响应中获取数据。根据我的研究,我发现Mike Bostock提供了很棒的D3解决方案。其中一个是" Histogram II"这完全符合我的需要。问题是它(以及我发现的所有其他类似解决方案)都带有.csv作为数据源。我想使用数组作为数据源,但在尝试更改输入时失败。

请您给我一个提示,必须更改哪些行使用以下数组,目前基于Mike Bostocks .csv:

my_data = [
    {"id": "10097071", "case": "HY285524", "date": "06/02/2015 09:41:19 PM"},
    {"id": "21907", "case": "HY291065", "date": "06/07/2015 03:50:00 AM"}
  ]

提前致谢。

1 个答案:

答案 0 :(得分:2)

在Bostock的原始代码中,date字符串由type函数解析,由d3.csv作为行函数调用:

function type(d) {
    d.date = parseDate(d.date);
    return d;
}

由于您计划使用变量来保存数据数组并完全摆脱d3.csv,因此您必须以其他方式解析date字符串。例如,您可以使用forEach

data.forEach(function(d){
  d.date = parseDate(d.date)
})

以下是演示,我刚刚修改了Bostock使用数组而不是CSV文件的代码:https://bl.ocks.org/anonymous/bb0d820fbca8fbdf0f8827b0edbcbd44。查看forEach数组之后的data