2015-01-07 3 views
1

Я использую Highcharts, но я не понимаю, почему она не отображается в XAxis Категория если нет данных в YAxis ...Highcharts не отображает все категории

Я проверил в документации API и showEmpty равно true (значение по умолчанию) ...

Как показать все категории, несмотря на то, что у меня есть больше категорий, чем данных?

Мои ЯШ:

 userChart = new Highcharts.Chart({ 
     chart : { 
      renderTo: 'highcharts', 
      type: 'line', 
      width: 950 
     }, 

     xAxis: { 
      categories: ['08:00', '08:30', '09:00', '09:30', '10:00', 
         '10:30', '11:00', '11:30', '12:00', '12:30', 
         '13:00', '13:30', '14:00', '14:30', '15:00', 
         '15:30', '16:00', '16:30', '17:00', '17:30', 
         '18:00'], 

     }, 
     yAxis: { 

      min: 0, 
      allowDecimals: false, 
     }, 
     series: [{ 
      name: '1', 
      data: data1, 
     }], 
    }); 

data1 содержит только 16 входов так Highcharts отображает 16 категорий ...

Как я могу это исправить?

ответ

3

Вы можете сделать это, сообщив xAxis, сколько очков показывать независимо от того, сколько у вас данных. Это немного хак, поскольку xAxis не имеет значений точно, но он имеет индексные значения для каждой категории, начиная с 0. Таким образом, у вас есть 21 категория, что означает, что максимальный индекс равен 20. Тогда вы получите xAxis:

xAxis: { 
    categories: ['08:00', '08:30', '09:00', '09:30', '10:00', 
       '10:30', '11:00', '11:30', '12:00', '12:30', 
       '13:00', '13:30', '14:00', '14:30', '15:00', 
       '15:30', '16:00', '16:30', '17:00', '17:30', 
       '18:00'], 
    min: 0, 
    max: 20 
}, 
+0

Я бы также рекомендовал пропускать категории и использовать ось datetime, так как вы показываете дату дате. – jlbriggs

+0

Спасибо, wergeld, он отлично работает, я думал, что max работает по-другому. На деле я мог бы это сделать, если бы вы за советом. :) –

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