2016-04-27 46 views
0

在负载我看到这一点,所有的数据,而无需过滤器设置:
Picture: what i havedc.js - 如何设置画笔(具体宽度),以BARCHART负载

我想看到这一点,刷(选择)最后被挑21天已经上载:
Picture: what i want
Solved! click for answer

在这里,我看到了类似的问题,但不是为我工作
dc.js - is it possible to show the user grab handles upon page load

var lineChart = dc.lineChart(".chart-line-graph"); 
var dateRangeChart = dc.barChart('.chart-date-range'); 

var hourDim = ndx.dimension(function(d) {return d.hour;}); 
var valueByHour = hourDim.group().reduceSum(function(d) {return d.value;}); 
var minDate = hourDim.bottom(1)[0].date; 
var maxDate = hourDim.top(1)[0].date; 

lineChart 
    .renderArea(true) 
    .width(1360) 
    .height(350) 
    .transitionDuration(200) 
    .margins({top: 30, right: 50, bottom: 45, left: 80}) 
    .dimension(hourDim) 
    .mouseZoomable(true) 
    .rangeChart(dateRangeChart) 
    .brushOn(false) 
    .x(d3.time.scale().domain([minDate,maxDate])) 
    .elasticY(true) 
    .group(value) 
    .renderHorizontalGridLines(true); 

var dayDim = ndx.dimension(function (d) {return d.day;}); 
var groupByDayDim = moveDays.group(); 

dateRangeChart 
    .width(1360) 
    .height(35) 
    .margins({top: 0, right: 50, bottom: 20, left: 80}) 
    .dimension(moveDays) 
    .group(volumeByMonthGroup) 
    .centerBar(false) 
    .gap(1) 
    .x(d3.time.scale().domain([minDate,maxDate])) 
    .round(d3.time.week.round) 
    .alwaysUseRounding(true) 
    .xUnits(d3.time.days); 
dateRangeChart 
    .yAxis().ticks(0); 

如果我补充一点:

lineChart 
    .filter(dc.filters.RangedFilter(d3.time.day.offset(xrange[1], -21), d3.time.day.offset(xrange[1], 1))) 

然后BARCHART被过滤,但不会选择

+0

如果你调用一个DC有何帮助.redrawAll()将过滤器应用于图表后? –

+0

没有(我猜,我需要像.focus()这样的事情,但不知道如何正确地强制 – Felsher70

+0

过滤器是否应该在daterangechart或线图上? –

回答

1

我解决了我的第一个问题!
刚刚加入过滤后的所有代码(后renderAll()),然后调用redrawAll()

截图,怎么看起来像现在,负载图表
screenshot