2013-06-07 4 views
2

나는 그런처럼 내 dimmension을 설정하는 다음과 같은 데이터dc.js를/crossfilter 차트는 네거티브를 선택하지 않는 제대로

var jsonStr = ([ 
    {"date": "2011-11-14", "value": 0.1121}, 
    {"date": "2011-11-15", "value": 0.2221}, 
    {"date":"2011-11-16", "value": 0.3321}, 
    {"date":"2011-11-17", "value": 0.4221}, 
... 
    {"date":"2011-11-22", "value": -0.6544}, 
    {"date":"2011-11-23", "value": -0.3131}, 
    {"date":"2011-11-24", "value": -0.2122}, 
    {"date":"2011-11-25", "value": -0.0231} 
]); 

로 차트를 그릴 dc.js를이/crossfilter/D3를 사용하고 있습니다 :

// set up my date objects 
var timeFormat = d3.time.format("%Y-%m-%d"); 
jsonStr.forEach(function (e) { 
    e.date = timeFormat.parse(e.date); 
    e.dd = new Date(e.date); 
    e.month = d3.time.month(e.dd); 
}); 

// feed it through crossfilter 
var ndx = crossfilter(jsonStr); 
var all = ndx.groupAll(); 

//setup dimmensions 
var dateDimension = ndx.dimension(function (d) { 
    return d.dd; 
}); 

//fluctuation chart, I bet i'm doing something wrong here... 
var fluctuation = ndx.dimension(function (d) { 
    return d.value.toFixed(2); 
    // return Math.round(d.value); 
}); 

차트를 그릴 때 개별 음수 값을 선택할 수 없습니다. 누구나 내가해야 할 일에 대해 생각해 봤어? 여기

전체 바이올린 : http://jsfiddle.net/wbott70/Fvw9m/

답변

0

내기가 옳았다! d.value.toFixed는 string of the value을 반환하고 막대 그래프 브러시에서 호출하는 교차 필터 함수가 숫자 값을 사용하려고합니다.

은 변동의 차원이 정확한 숫자 값을 처리하고 히스토그램을 위해 그룹에 가까운 값을 fluctuationGroup을 사용하자 :

//fluctuation chart 
var fluctuation = ndx.dimension(function (d) { 
    return d.value; 
}); 

var fluctuationGroup = fluctuation.group(function(d){ 
    return Math.round(d*10)/10; 
}); 

http://jsfiddle.net/Fvw9m/2/

+0

가 감사합니다, 감사합니다! 그 말이 맞습니다. 바로 거기에 작은 시간이 들었지만, 헤이 ... 나는 배우 고. – user2464164