你好,我用这个代码让我的线与每个月的点。
现在我想自动获得每年的一个系列-什么是最好的方式呢?
function Dimension() {
return Data.ndx.dimension(function (d) { return moment.localeData()._months[d["DATE"].getMonth()]; });
}
function Group(thisDim) {
var thisVal = thisDim.group().reduceSum(function (d) { return d["VALUE"]; });
return thisVal;
}
var thisDim = Dimension();
var thisVal = Group();
chartObject.dimension(thisDim).group(thisVal)
.title(function (d) { return d.key; })
.label(function (d) { return d.key;})
.margins({top: 10, right: 10, bottom: 30, left: 70})
.elasticY(true)
;
chartObject.x(d3.scaleBand().range([0,11])).xUnits(dc.units.ordinal);
chartObject.xAxis().tickFormat(function(d) { return moment.localeData()._months[d]; });
1条答案
按热度按时间ycl3bljg1#
最简单的方法可能是使用series chart。系列图表是复合图表的快捷方式,它基于键的部分拆分数据,并自动为每个系列访问器值生成一个(折线)图表。
它将要求您为您的维使用一个“多键”,带有年份和月份。您将使用
seriesAccessor
和keyAccessor
告诉dc.js如何拆分多键。顺便说一句,您处理月份的方式比实际需要的要复杂得多。
然后,您的秤会将这些名称重新转换为数字:
相反,我建议使用年份和月份数字作为多键:
然后其余的应该按照上面链接的例子...但请评论,如果你遇到麻烦,因为我省略了一些细节。