web-dev-qa-db-ja.com

線形スケールの代わりにd3対数スケールを使用する

http://mbostock.github.com/d3/talk/20111116/bar-hierarchy.html に基づいてグラフを作成しようとしていますが、唯一の違いは使用したいことです。 x軸の対数目盛。

これが私のフィドルです: http://jsfiddle.net/JhDVC/5/

ご覧のとおり、x軸は4行目で定義されています。

x = d3.scale.linear().range([0, w]),

に変更した場合

x = d3.scale.log().range([0, w]),

次に、それは機能せず(何もレンダリングされません)、次のエラーメッセージをスローします。

Error: Invalid value for <rect> attribute width="NaN" 

ドメイン設定をから変更する

x.domain([0, root.value]).Nice();

x.domain([1, root.value]).Nice();

z軸(名前)が表示されますが、バーや値は表示されません。

13
luisfarzati

スケールのドメインが設定されている場所は他にもいくつかあります。それらも更新する必要があります。

Jsfiddleの動作 ここ

そして、これを投稿できるようにするためのコードをいくつか示します。

x.domain([1, root.value]).Nice();
9
Lars Kotthoff

範囲にゼロが含まれています-log(0)は未定義です。

3
btk