2011-07-21 4 views
2

最も簡単な使用例は、値が-10から10までの棒グラフで、ProtovisのJavaScriptチャーミングライブラリを使用してこれをきれいにコーディングする方法はありますか?Protovisの負の数をグラフ表示する正しい方法は何ですか?

x軸とy軸のラベルを表示し、負の値がy軸を下回り、正の値がy軸を超えるチャートの列値を表すことを意味しています。ここで

答えて

2

は作業例です:次のようにこのhttp://jsfiddle.net/nrabinowitz/yk5By/3/

重要な部分は、以下のとおりです。

  • x軸のスケールは、あなたのケースで(自分の最大値にご最小値から行くくださいpv.Scale.linear(-10,10).range(0,w);私の例では、データに基づいてminとmaxを計算します)。

  • ベース0からのデータの絶対距離のバーの幅:

    .width(function(d) { return Math.abs(x(d) - x(0)); }) 
    
  • 次にデータが正であるか負であるかに基づいて.left()プロパティを調整する:

    .left(function(d) { return d > 0 ? x(0) : x(0) - this.width(); }); 
    
  • シンプルなx軸スケールを使用しているので、追加軸ラベルは非常に簡単です:

    vis.add(pv.Label) 
        .data(x.ticks()) // you could also use pv.range(min, max, 1) here 
        .left(x); 
    
+0

私は思い付いたものよりずっときれいです。ニース。完全な答え。ありがとうございました。 –

関連する問題