希望这是一个非常简单的问题。我正在使用DC.js和Crossfilter显示一些数据,需要根据4月1日至3月31日的财政年度范围绘制年度总计,即2015年总计将涵盖2015年4月1日至2016年3月31日的日期范围。

我创建了以下年份维度,尽管该年份维度基于每年的1月1日至12月31日。通过搜索D3 / DC / Crossfilter文档,我找不到任何明显的东西。

导入的csv文件中的日期值的格式为YYYYMMDD。

var yearFormat = d3.time.format("%Y");

var yearDim = cf.dimension(function (d) {
    return yearFormat(d.myDateField);
});

最佳答案

在这种情况下,您仅在日期的年份部分中进行尺寸标注。您将需要扩展yearFormat函数以返回正确的财政年度数字。

var yearFormat = function(date){
    if (date.getMonth < 3){
        return d3.time.format("%Y") - 1;
    } else {
        return d3.time.format("%Y");
    }
}

10-04 21:30