2012-06-10 80 views
0

我正在使用d3製作多個線圖(請參閱功能示例http://jsfiddle.net/hSrP7/)。不過,我想每個情節都有不同的尺碼。我已經嘗試了語法,如以下,但沒有成功:使用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/)的鏈接小提琴。有沒有辦法將不同的尺寸傳遞給每個圖表?我實際使用的圖形有更大的差異。謝謝,

回答

0

你只是在你的JavaScript類型o。你忘了關閉傳遞到yscale的域數組:

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

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

修正了小提琴,它的渲染,但如果你仍然沒有看到你所需要的,我會編輯的答案。

相關問題