2016-09-06 8 views
0

私は、動的なグループ化された棒グラフを持ち、いつでも新しいデータで再ロードできます。ほとんどの場合、期待通りに動作します。d3.jsティックを動的に設定する方法

私の問題は、データの値が1のときxAxisは0から1のバーで0 1 2 3 4 5ではなく各ティックごとに1を表示することです。これが起こると、バーはチャートの向こう側に行きます。

xAxis.ticksを1に設定すると、グラフのティックはきれいです(0と1)が、1より大きい値になるとグラフに2ティックしか表示されません。 (0〜15)これを解決する方法はありますか?

+0

コードを見ずにあなたを助けることは非常に難しいです... –

答えて

0

xドメインに5を追加しました。

var formatxAxis = d3.format( '。0f');

  var xAxis = d3.svg.axis() 
       .scale(x) 
       .orient("bottom") 
       //.tickFormat(d3.format(".2s")); 
       .ticks(5) 
       .tickFormat(formatxAxis); 

      y0.domain(data.map(function (d) { return d.groupLabel; })); 
      y1.domain(subgroupLabels).rangeRoundBands([0, y0.rangeBand()]); 
      x.domain([0, d3.max(data, function (d) { 
       return d3.max(d.subgroups, function (d) { 

        var v; 

        d.value > 4 ? v = d.value : v = 5 
        return v; 
       }); 
      })]); 
関連する問題