1

私は次のようなデータ構造を持っています

[{ name: "a", value: 5000},
{ name: "b", value: 6000},
{ name: "c", value: 7000},
{ name: "d", value: 4000}]

2つの異なるyaxisコンポーネントを使用して、名前と値の列を使用してyaxisを描画しようとしています。ただし、値yaxisには最後の値の1つが欠落しているようです(「name」yaxisラベルに4ティック、「value」yaxisラベルに3ティックがあります)。次のフィドルを参照してください。

http://jsfiddle.net/namit101/AmHhg/73/

4

1 に答える 1

2

あなたが言うように、それは3ティックを描画しません。軸コンポーネントは補間を使用します。コンポーネントは期待どおりに機能します。正しく使用していないだけです。バーの上に個別のラベルを付ける必要があります。このフィドルのように値を変更してみてください:http://jsfiddle.net/AmHhg/81/

軸コンポーネントは値の間を補間するため、同じ値を2回(2小節と3小節)持っている場合は、1回だけ表示されるのが理にかなっています...

最初のケース(最初のバー)では、バーが値を変更しているため、同じ値の場合は実際には表示されません...

軸の詳細については、https ://github.com/mbostock/d3/wiki/SVG-Axesをご覧ください。また、BobMonteverdeのNVD3軸コンポーネントも見てみてください。

これを修正するには:実際に軸ではなくラベルを使用する場合は、MikeBostockとScottMurray(左揃え)のバーチュートリアルのようにラベルを自動的に表示するのではなく、各バーの上にラベルを追加するだけです。

于 2012-08-27T19:36:51.133 に答える