2014-11-11 2 views
0

다중 시리즈 d3 플롯의 경우 "0"에서 y- 틱을 얻으려고합니다. 내 x 축은 시간 척도이고 y 축은 임의의 데이터 규모입니다. 여기 내 plunkr는 난 그냥 Y-틱 값에 제로를 추가하는 경우d3 계열 플롯을 사용하여 y 값이 0 인 틱을 렌더링하십시오.

http://plnkr.co/edit/emOKcxrHP7gU1U1l0Mff?p=preview

, 그것은 작동하지 않습니다 (즉, 다음과 같은 기능에 나는 var에 yTickValues ​​= [0] 말할 경우)가 놨어요 내 음모까지

    function getYTickValues(){ 
         var deltaY = Math.round((maxY - minY)/(yTickCount-1)); 
         var yTickValues = []; 
         for(var i=0;i<yTickCount;i++){ 
          yTickValues.push(((minY + i * deltaY) * 100)/100); 
         }; 
         return yTickValues; 
        } 

나는 이것이 내가 항상 0에서 Y-틱을 얻을 수있는 해결 방법을 알아낼 수 없습니까 (기존 아래에 또 다른 x 축을 그립니다). 도메인 범위 척도가 0 y-tick을 수용하기 위해 변경되기 때문에 minX, maxX, minY 및 maxY를 건드리지 않으려합니다.

도움을 주시면 감사하겠습니다.

답변

0

변경은 y 도메인은 0에서 시작 : 다음 또한 yTickValues 배열에 0을 포함

y.domain([0, maxY]); 

와 위의 제안과 같이 여전히

var yTickValues = [0]; 

데이터 값을 minYmaxY 사이에 남아 ,하지만 y 축은 0으로 실행됩니다. 나는 그 질문이 무엇을 얻고 있다고 생각합니까?

y 틱 값의 나머지 부분도 균등하게 배치하기 위해 getYTickValues() 함수에 몇 가지 변경을했습니다. http://plnkr.co/edit/q6XnujIyB8JdzN8AA88j?p=preview

을 참조하십시오.
관련 문제