2012-06-10 4 views
0

d3을 사용하여 여러 개의 선 그래프를 만듭니다 (기능 예제 http://jsfiddle.net/hSrP7/ 참조). 그러나, 나는 각 플롯마다 서로 다른 yscales를 원합니다. 나는 다음과 같은 구문을 시도했지만 성공하지했습니다D3을 사용하여 서로 다른 Y 축척이있는 여러 개의 그림

여기
var diseases = ['Maternal_Mortality', 'Child_Mortality', 'Malaria'] 

    var min = [] 
     min['Maternal_Mortality'] = .4 
     min['Child_Mortality'] = .3 
     min['Malaria'] = .1 
    var max = [] 
     max['Maternal_Mortality'] = .7 
     max['Child_Mortality'] = .6 
     max['Malaria'] = .8 

yscale = function(dis) { 
     yval = d3.scale.linear().domain([min[dis], max[dis]).range([plotHeight -  
     bottomPadding, topPadding]) 
     return yval 
} 

var yaxes = d3.svg.axis() 
     .scale(diseases.forEach(function(d) {return yscale(d)})) 

이 작동하지 않습니다 구문 (http://jsfiddle.net/Hn5JX/)를 사용하여 바이올린에 대한 링크입니다. 각 그래프에 다른 yscales를 전달할 수있는 방법이 있습니까? 실제로 작업하고있는 그래프에는 훨씬 큰 차이가 있습니다. 감사합니다,

답변

0

방금 ​​당신의 자바 스크립트에 타입 -o가있었습니다. 당신은 yscale의 도메인에 전달 된 배열을 닫습니다 잊고 있었던 :

.domain([min[dis], max[dis]) // change to: 
.domain([min[dis], max[dis]]) 

http://jsfiddle.net/Hn5JX/2/

는 바이올린을 고정하고 렌더링 있어요 그러나 당신은 아직도 당신이 필요로 표시되지 않는 경우 내가 대답을 편집 할 수 있습니다.

관련 문제