2016-05-24 13 views
0

スタック領域グラフをまとめることができました。 ダミーデータを使用するthis fiddleを参照してください。しかし、私は対数スケールとしてy軸を実装したい。私は、行を変更する場合でも、d3スタック領域グラフがログスケールで機能しない

var y = d3.scale.linear() 
      .range([HEIGHT, 0]); 

var y = d3.scale.log() 
      .range([HEIGHT, 0]); 

への私のグラフは、私は私が間違っているつもり場所を確認していない

d3.v3.min.js:1 Error: Invalid value for attribute d="M0,NaNQ400,NaN,500,NaNQ600,NaN,1000,NaNL1000,NaNQ600,NaN,500,NaNQ400,NaN,0,NaNZ".

のようなエラーが発生してレンダリングを停止します。誰でも助けてくれますか?

答えて

1

Log Scalesのドキュメントを見てください:

As log(0) is negative infinity, a log scale must have either an exclusively-positive or exclusively-negative domain; the domain must not include or cross zero.

あなたは、あなたのドメインがゼロの値が含まれていないことを確認する必要があります。いくつかの小さな値に設定すると、十分でしょう。

y.domain([1e-6, d3.max(data, function(d) { return d.y0 + d.y; })]); 

が働い例えば更新JSFiddleを参照してください。

関連する問題