2015-01-28 2 views
0

d3.js로 간단한 막 대형 차트를 설정하고 값의 크기에 따라 각 막대의 색상을 다르게 지정합니다. 이전에이 작업을 수행했지만 외부 JSON에서는 작동하지 않습니다. 내 색상 VAR 설정이처럼이 : 나는 채우기 요소로 각 "RECT"이 적용 그러나d3.js JSON에서 작동하지 않는 색상 범위 적용

var maxConv = d3.max(data, function(d) { 
return d.conversion; 
}); //This finds and returns the biggest value for 'conversion' 

var convColors = d3.scale.linear() 
       .domain([0, maxConv]) // uses the maxConv var above as highest range point 
       .range(['#ed5565','#da4453']); 

, 그것은 작동하지 않습니다 (이 검은 색으로 표시) :

d3.select('#bestConvertorBarChart').append('svg') 
.selectAll('rect').data(data) 
.enter() 
.append('rect') 
    .style('fill', convColors) 

암의 I 눈부신 바보 같은 일을하고 있니?

답변

1

convColors은 숫자가 아닌 객체와 함께 호출됩니다. 최대 값을 계산하는 데 사용한 것과 같은 접근 함수가 필요합니다.

.style('fill', function (d) { 
    return convColors(d.conversion); 
}); 
+0

정말 고마워요! 그것은 완벽하게 작동했습니다. – user3927582