2017-12-11 12 views
0

私は、d3fc/d3.jsを使用して複数のブレークを持つ縮尺を作成しようとしています。例えば、これは、私は現在、20と80から50まで、10〜休憩して0から100までのスケールを作成しようとしています方法です:d3fc/d3.js複数の不連続点をスタックする方法

var scale = fc.scaleDiscontinuous(d3.scaleLinear()); 
breaks = [[10,20],[50,80]]; 

for (break_index in breaks){ 

    b = breaks[break_index]; 
    scale.discontinuityProvider(fc.discontinuityRange(b)); 

} 


scale.domain([ 100, 0]) 
    .range([content_width,0]); 

これは、しかし、唯一の50から80の意味から休憩とスケールを返します。最初のブレーク(10-20)が上書きされています。同じ規模で複数の休憩を取る方法はありますか?

ご協力いただければ幸いです。

答えて

0

あなたのコードは、breaks配列を反復し、各反復でdiscontinuityProviderプロパティを設定しています。このプロパティを設定するたびに、前の値が上書きされます。

const scale = fc.scaleDiscontinuous(d3.scaleLinear()); 
    .discontinuityProvider(fc.discontinuityRange([10,20], [50,80])) 
    .domain([ 100, 0]) 
    .range([content_width,0]); 

ソリューションは、直接不連続プロバイダに複数の「休憩」を提供することです

関連する問題