0

d3 を使用して複数のライン プロットを作成しています (機能例http://jsfiddle.net/hSrP7/を参照)。ただし、プロットごとに異なる yscales を使用したいと考えています。次のような構文を試しましたが、成功しませんでした。

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 を渡す方法はありますか? 私が実際に扱っているグラフには、はるかに大きな違いがあります。ありがとう、

4

1 に答える 1

0

あなたのjavascriptにtype-oがありました。yscale のドメインに渡された配列を閉じるのを忘れていました。

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

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

フィドルを修正してレンダリングしていますが、必要なものがまだ表示されない場合は、回答を編集します。

于 2012-12-12T17:18:22.540 に答える