我正在使用 d3 制作多条线图(参见功能示例http://jsfiddle.net/hSrP7/)。但是,我想为每个地块设置不同的 yscale。我尝试了如下语法,但没有成功:
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 传递给每个图?我实际使用的图表有更大的差异。谢谢,