【发布时间】:2014-12-07 17:57:39
【问题描述】:
我正在尝试使用 dc.js 绘制面积图,并且图表的结束日期(即最右边)基于当前日期,而不是数据集中的最后日期。在数据点之间存在日期差距的情况下,我希望该区域从一个点延伸到下一个点,不在 0 处绘制。
鉴于此数据:
var data = [
{domain: "foo.com", project: "pdp", repo: "myrepo", commit_date: "6/1/2014", lines_added: 100, lines_deleted: 50},
{domain: "foo.com", project: "pdp", repo: "myrepo", commit_date: "7/1/2014", lines_added: 100, lines_deleted: 50}
];
var ndx = crossfilter(data);
图表的线/区域目前在“7/1/2014”数据点结束,但我希望它延伸图表的整个长度。
绘制图表的相关代码为:
var dateDim = ndx.dimension(function(d) {return d.commit_date;});
var minDate = dateDim.bottom(1)[0].commit_date;
var maxDate = new Date();
var domainGroup = dateDim.group().reduceSum(function(d) {return d.cumulative_lines;});
unshippedlineChart
.width(500).height(200)
.dimension(dateDim)
.group(domainGroup)
.renderArea(true)
.x(d3.time.scale().domain([minDate,maxDate]))
.brushOn(false)
.interpolate('step-after')
.yAxisLabel("Unshipped Value");
【问题讨论】:
标签: javascript d3.js charts dc.js crossfilter