2014-11-09 2 views
9

Если у меня есть диаграмма сгруппирована по C3JS, как показано ниже, как я могу заставить сегменты оставаться в том порядке, который я определил, а не в порядке возрастания по значению? По умолчанию C3 закажет их 5, 10, 40, но я хочу, чтобы он оставался как 10, 40, 5.Графическая диаграмма C3JS с определенным порядком

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 
    } 
    } 
}); 

EDIT

Оказывается, это так просто, как определение order: null в data Недвижимость.

+0

Это действительно сработало. Я почти начал писать сумасшедшую пользовательскую функцию для заказа -.- – cen

+0

Я тоже заводил орехи;) –

+0

Я с нетерпением ждал сортировки баров на простой бар-диаграмме, если возможно что-то вроде ниже, о котором я упоминал (без каких-либо группа): var chart = c3.generate ({data: {columns: [['data1', 30, 200, 100, 400, 150, 250],], type: 'bar', order: 'desc'}, }); – user3172663

ответ

6

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

Вы можете указать функцию также:)

+0

Я видел, что, однако, это также говорит о том, что 'order: null' является значением по умолчанию, но если вы его опустите, оно по умолчанию не применяется. Вы должны явно указать его самостоятельно. –

+0

@PatrickGrimard Нет, он говорит, что desc по умолчанию проверяет ссылку, указанную выше ссылкой. Я думаю, что его опечатка на странице документации, потому что я проверял источник и desc - это вариант по умолчанию там. Я должен открыть там проблему. – Abhishek

+0

@Abhishek Я с нетерпением ждал сортировки баров на простой бар-диаграмме, если возможно что-то вроде ниже, о котором я упоминал. var chart = c3.generate ({ данные: { ): [['data1', 30, 200, 100, 400, 150, 250],], тип: 'bar', заказ: 'desc' }, }); – user3172663

Смежные вопросы