0

こんにちは、次のドメインがarray=["Col 1", "2012", "total"]あり、この方法でスケールを作成します

x = d3.scale.ordinal()
        .domain(array)
        .rangeRoundBands([0,width], .1);

そして、私はこのように軸を呼び出します:

 d3.svg.axis()
        .scale(x);

残念ながら、これにより不安定な動作が発生し、再描画時にデータがスワップされます: http://jsbin.com/ibewux/9/edit

動作を安定させる唯一の方法は、ドメインに数値を指定することです。つまり、array=[0, 1, 2, 3, ...] です。

この形式の目盛り ["Col 1", "2012", "total",..., "any string"] を数値 ([0,1,2,...N] など) の代わりに表示するにはどうすればよいですか? ) グラフ化されたデータが再描画時に (明らかに毎回異なるランダム ティックで) スワップすることを回避しますか?

どうもありがとう

4

1 に答える 1

3

の目盛りがドメイン値であることは、序数スケールの場合にはすでに当てはまります。ここに示すように:

ここでaxis.tickValuesをスケールのドメインに設定するのは冗長です。

于 2012-08-04T20:39:29.543 に答える