13

次のように定義された C3JS のグループ化された棒グラフがある場合、セグメントを値の昇順ではなく、定義した順序に保つにはどうすればよいですか? デフォルトでは、C3 は 5、10、40 の順序で並べますが、10、40、5 のままにしておきたいです。

c3.generate({
  bindto: '.active-loads',
  data: {
    columns: [
      ['Picking up future', 10],
      ['Enroute', 40],
      ['Delivered', 5]
    ],
    type: 'bar',
    groups: [
      ['Picking up future', 'Enroute', 'Delivered']
    ],
    onclick: function(d) {
      console.debug(d);
    }
  },
  axis: {
    rotated: true,
    x: {
      show: false
    }
  }
});

編集

プロパティで指定order: nullするのと同じくらい簡単です。data

4

1 に答える 1

12

C3js ドキュメントには、このためのページがあります: http://c3js.org/samples/data_order.html

次の方法でデータを注文できます。

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 130, 200, 320, 400, 530, 750],
            ['data2', -130, 10, 130, 200, 150, 250],
            ['data3', -130, -50, -10, -200, -250, -150]
        ],
        type: 'bar',
        groups: [
            ['data1', 'data2', 'data3']
        ],
        order: 'desc' // stack order by sum of values descendantly.
//      order: 'asc'  // stack order by sum of values ascendantly.
//      order: null   // stack order by data definition.
    },
    grid: {
        y: {
            lines: [{value:0}]
        }
    }
});

ここでも詳細な説明: http://c3js.org/reference.html#data-order

関数も指定できます:)

于 2014-12-05T10:56:15.267 に答える