2016-04-27 23 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