I이 닮은 crossfilter에 CSV 데이터를 가지고다시 그리기 DC JS 차트
후드, 방, 타임 스탬프, 가격, 점유
SF, 2- 브롬, 1분의 9 /14,3950,.94
내 데이터를로드 한 후 내 필터 설정 : 내 차트의
var ndx = crossfilter(data);
var all = ndx.groupAll();
var price = ndx.dimension(function(d) {
return d.price;
});
var occupancy = ndx.dimension(function(d) {
return d.occupancy
})
var roomType = ndx.dimension(function (d) {
var room = d.rooms_clean;
return room;
});
var dateDimension = ndx.dimension(function (d) {
return d.day;
});
var hood = ndx.dimension(function (d) { //dimensions for choropleth
return d.hood;
});
dataUnit = "price"
var roomAll = roomType.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by room type
var hoodAll = hood.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by hood
var dateAll = dateDimension.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by date
var roomGroup = roomType.group();
모두가 dataUnit = "가격"을 기반으로
을. 페이지 설정 dataUnit = "occupancy"를 다시로드 할 수 있으며 차트가 올바르게 렌더링됩니다.사용자가 버튼을 클릭하고 새 크로스 필터를 페이지에 렌더링 할 수있게하려고합니다. Jquery로 모든 치수를 처리하고 새 치수를 작성하려고 시도했습니다.
$('#occupancy').click(function() {
roomType.dispose()
hood.dispose()
dateDimension.dispose()
dataUnit = "occupancy"
var roomAll = roomType.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by room type
var hoodAll = hood.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by hood
var dateAll = dateDimension.group().reduce(reduceAddAvg(dataUnit), reduceRemoveAvg(dataUnit), reduceInitAvg) // create vector with stats by date
var roomGroup = roomType.group();
dc.redrawAll();
return false;
})
그러나지도가 업데이트되지 않습니다. 페이지를 다시로드하지 않고 모든 교차 필터에서 사용하는 치수/데이터를 어떻게 전환 할 수 있습니까?