0

我正在尝试使用带有标题为“年份”的列的 csv 数据源来生成使用 dc.js 的条形图来创建基于交叉过滤器的仪表板。我看不出如何将年份转换为可用的日期格式。有没有人可以帮忙?

我正在使用 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 

我究竟做错了什么?

4

1 回答 1

0

这是声明 csv 文件时的错误。

问题在这里解决:https ://github.com/NickQiZhu/dc.js/issues/127

于 2013-03-03T21:09:27.947 回答