Как отобразить более одного года по оси x в аннотированной временной шкале Google Chart?

#google-visualization

#google-визуализация

Вопрос:

Я использую инструмент аннотированной временной шкалы Google для построения данных, охватывающих более двух лет, например, 2010 и 2011.

Временная шкала по оси x показывает записи только за 2011 год. Он пропускает все значения 2010 года. Возьмем, к примеру, следующую таблицу данных:

   var data = new google.visualization.DataTable();
  data.addColumn('date', 'Date');
  data.addColumn('number', 'Mac Client');
  data.addColumn('number', 'Win Client');
  data.addColumn('number', 'Total');
  data.addRows(7)

    data.setValue(0, 0, new Date(2010, 12, 16, 11, 0, 0, 0)); 
    data.setValue(0, 1, 0); 
    data.setValue(0, 2, 1); 
    data.setValue(0, 3, 1); 

    data.setValue(1, 0, new Date(2010, 12, 24, 16, 0, 0, 0)); 
    data.setValue(1, 1, 0); 
    data.setValue(1, 2, 5); 
    data.setValue(1, 3, 5);

    data.setValue(2, 0, new Date(2010, 12, 16, 12, 0, 0, 0)); 
    data.setValue(2, 1, 0); 
    data.setValue(2, 2, 19); 
    data.setValue(2, 3, 19);

    data.setValue(3, 0, new Date(2011, 3, 30, 2, 0, 0, 0)); 
    data.setValue(3, 1, 0); 
    data.setValue(3, 2, 17); 
    data.setValue(3, 3, 17); 

    data.setValue(4, 0, new Date(2011, 4, 11, 13, 0, 0, 0)); 
    data.setValue(4, 1, 0); 
    data.setValue(4, 2, 37); 
    data.setValue(4, 3, 37); 

    data.setValue(5, 0, new Date(2011, 10, 2, 0, 0, 0, 0)); 
    data.setValue(5, 1, 1); 
    data.setValue(5, 2, 21); 
    data.setValue(5, 3, 22); 

    data.setValue(6, 0, new Date(2011, 4, 19, 2, 0, 0, 0)); 
    data.setValue(6, 1, 0); 
    data.setValue(6, 2, 6); 
    data.setValue(6, 3, 6); 
 

Результирующий график начинается с 2011 года, а не с 2010 года. Игровая площадка Google code

Как я могу включить в него точки данных и за 2010 год?

График заканчивается 02 ноября 2011 года, хотя мои последние данные указывают на 2 октября 2011 года. Как я могу сделать так, чтобы ось x графика заканчивалась 30 октября.

Ответ №1:

Значение ‘месяца’ объекта даты JavaScript индексируется на 0 (т. Е.: 0 = январь, 1 = февраль), так что прямо сейчас все на месяц.

Изменить

 new Date(2011, 10, 2, 0, 0, 0, 0)); 
 

Для

 new Date(2011, 9, 2, 0, 0, 0, 0)); 
 

по всем направлениям, и вы должны получить то, что хотите!