使用带有dc.js和d3.js的crossfilter - 如何将csv年份数据转换为日期格式?

时间:2013-02-20 10:37:56

标签: d3.js crossfilter dc.js

我正在尝试使用带有标题为“Year”的列的csv数据源来生成使用dc.js创建基于crossfilter的仪表板的条形图。我看不出如何将年份变成可用的日期格式。有人可以提供帮助吗?

我正在使用dc.js 1.2和d3.v3.min.js

我尝试调整主要示例,但不知道“e”来自何处:

var dateFormat = d3.time.format("%Y");
var numberFormat = d3.format(".2f");

         data.forEach(function(e) {
            e.dd = dateFormat.parse(e.Year);
         });

我也试过这个:

var dateYear = new Date(d.Year, 0);// The required 0, is for January

变量声明为:

var yearDimension = data.dimension(function(d){ return d3.time.year(d.dd);});

我还试图完全放弃日期格式并使用序数比例:

.x(d3.scale.ordinal())
//.xUnits(d3.units.ordinal);

将变量声明为:

var yearDimension = data.dimension(function(d){ return d["Year"];});

以及

var yearDimension = data.dimension(function(d){ return (String(d["Year"]));});

但是这个设置产生了这个错误:

Uncaught TypeError: Cannot read property 'ordinal' of undefined 

我做错了什么?

1 个答案:

答案 0 :(得分:0)

声明csv文件时出错。

问题解决了:https://github.com/NickQiZhu/dc.js/issues/127