2015-08-28 9 views
0

У меня есть график таймшеров, созданный с помощью C3. График имеет временные промежутки в данных, и это очень заметно с помощью гистограммы.Как удалить пробелы в диаграмме таймеров C3?

Возможно ли устранить пробелы? Я рисую график, как показано ниже. Обратите внимание на то, как существует разрыв между 2013-01-03 и 2013-01-06

var chart = c3.generate({ 
    data: { 
     x: 'x', 
     type: 'bar', 
     columns: [ 
      ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-06', '2013-01-07', '2013-01-08'], 
      ['data1', 30, 200, 100, 400, 150, 250] 
     ] 
    }, 
    axis: { 
     x: { 
      type: 'timeseries', 
      tick: { 
       format: '%Y-%m-%d' 
      } 
     } 
    } 
}); 

DEMO http://jsfiddle.net/4nar0rne/1/

Спасибо заранее.

ответ

1

Если вы не хотите, чтобы точки были построены равномерно, а не на основе расстояния между значениями x, вы можете использовать ось категории вместо оси timseries.

var chart = c3.generate({ 
    data: { 
     type: 'bar', 
     columns: [ 
      ['data1', 30, 200, 100, 400, 150, 250] 
     ] 
    }, 
    axis: { 
     x: { 
      type: 'category', 
      categories: ['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-06', '2013-01-07', '2013-01-08'] 
     } 
    }  
}); 

Однако делать заметки, что вы теряете все преимущества наличия временных рядов, оси (бруски разнесенных в соответствии со значением времени, упорядочивание и т.д.).

Fiddle - http://jsfiddle.net/sb5p0scL/


И если вы хотите тиков выровнять с центром этикетки вы можете использовать axis.x.centered как так

... 
axis: { 
    x: { 
     tick: { 
      centered: true 
     } 
     ... 

Fiddle - http://jsfiddle.net/rc0uhf1y/

+0

Спасибо, это близко к тому, что я хочу, однако я бы хотел, чтобы тики выровнялись по центру баров (как в «тайм-диаграммах»), однако имеют порядок «категории» ch Изобразительное искусство. –

+0

Просто используйте галочку по центру. См. Http://jsfiddle.net/rc0uhf1y/ – potatopeelings