2015-01-15 1 views
0

을하지 시작 I이 누적 막대 그래프가 있습니다 http://jsfiddle.net/maneesha/n7eLLnrm/2/D3는 막대 차트를 쌓아 -, Y0에서 yMax 인

문제는 스태킹가하지 않을 Y0에서 yMax 인에서 시작하여 아래로가는 것처럼 보이는 것을입니다.

이것은 각 시리즈 (연도)에서 같은 수 (인원수)를 가졌을 때 문제가되지 않았고 처음에는 분명하지 않았습니다. 몇 년 동안 더 많은 사람들이 생겨났다. 나는 잘못된 것이 있음을 깨닫는다. 이 문제는 어디에서 수정해야합니까?

내 코드의 일부 아마도 관련 부분 :

yScale = d3.scale.linear() 
    .domain([0, yMax]) 
    .range([height, 0]), 

//////

rects = groups.selectAll('rect') 
    .data(function (d) { 
     return d; 
     }) 
    .enter() 
    .append('rect') 
    .attr('x', function (d) { 
     return xScale(d.x); 
     }) 
    .attr('y', function (d) { 
     return height - yScale(d.y0); 
     }) 
    .attr('height', function (d) { 
     return height - yScale(d.y); 

     }) 
    .attr('width', function (d) { 

     return xScale.rangeBand(); 
     }) 

답변

1

변경 코드 : 다음 코드

.attr('y', function (d) { 
    return height - yScale(d.y0); 
}) 
.attr('height', function (d) { 
    return height - yScale(d.y); 
}) 

:

.attr('y', function (d) { 
    return yScale(d.y0 + d.y); 
}) 
.attr('height', function (d) { 
    return yScale(d.y0) - yScale(d.y0 + d.y); 
}) 
관련 문제