2014-11-05 1 views
2

Когда я использую API-интерфейс Google Chart с календарным пакетом, он не строит данные, если даты указаны в месяцах ноября или декабре.Календарь Google Chart не работает ноябрь и декабрь

Я использую образец кода Google, доступный по адресу https://developers.google.com/chart/interactive/docs/gallery/calendar.

И даже с использованием образца Google, если я изменю месяц на ноябрь или декабрь (индекс 10 или 11), данные не фиксируются, но другие месяцы все в порядке.

Пример код от Google:

<html> 
    <head> 
    <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("visualization", "1.1", {packages:["calendar"]}); 
     google.setOnLoadCallback(drawChart); 

    function drawChart() { 
     var dataTable = new google.visualization.DataTable(); 
     dataTable.addColumn({ type: 'date', id: 'Date' }); 
     dataTable.addColumn({ type: 'number', id: 'Won/Loss' }); 
     dataTable.addRows([ 
      [ new Date(2012, 3, 13), 37032 ], 
      [ new Date(2012, 3, 14), 38024 ], 
      [ new Date(2012, 3, 15), 38024 ], 
      [ new Date(2012, 3, 16), 38108 ], 
      [ new Date(2012, 3, 17), 38229 ], 
      // Many rows omitted for brevity. 
      [ new Date(2013, 9, 4), 38177 ], 
      [ new Date(2013, 9, 5), 38705 ], 
      [ new Date(2013, 9, 12), 38210 ], 
      [ new Date(2013, 9, 13), 38029 ], 
      [ new Date(2013, 9, 19), 38823 ], 
      [ new Date(2013, 9, 23), 38345 ], 
      [ new Date(2013, 9, 24), 38436 ], 
      [ new Date(2013, 9, 30), 38447 ] 
     ]); 

     var chart = new google.visualization.Calendar(document.getElementById('calendar_basic')); 

     var options = { 
     title: "Red Sox Attendance", 
     height: 350, 
     }; 

     chart.draw(dataTable, options); 
    } 
    </script> 
    </head> 
    <body> 
    <div id="calendar_basic" style="width: 1000px; height: 350px;"></div> 
    </body> 
</html> 
+0

Это еще ошибка в 2015. – Khrys

ответ

0

Вы уверен, что проблема заключается не в том, что месяц не отображается из-за размер? Принимая пример кода выше и меняя месяцы до 10 (ноябрь) и 11 (декабрь), он отлично работает.

Для получения результата см. jsfiddle. Вы могли заметить, что вам нужно прокрутить, чтобы увидеть последние месяцы. Я подозреваю, что у вас есть некоторые ограничения на ваш css, который отключил последующие месяцы.

Код в jsfiddle:

<html> 
    <head> 
    <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("visualization", "1.1", {packages:["calendar"]}); 
     google.setOnLoadCallback(drawChart); 

    function drawChart() { 
     var dataTable = new google.visualization.DataTable(); 
     dataTable.addColumn({ type: 'date', id: 'Date' }); 
     dataTable.addColumn({ type: 'number', id: 'Won/Loss' }); 
     dataTable.addRows([ 
      [ new Date(2012, 10, 13), 37032 ], 
      [ new Date(2012, 10, 14), 38024 ], 
      [ new Date(2012, 10, 15), 38024 ], 
      [ new Date(2012, 11, 16), 38108 ], 
      [ new Date(2012, 11, 17), 38229 ], 
      // Many rows omitted for brevity. 
      [ new Date(2013, 10, 4), 38177 ], 
      [ new Date(2013, 10, 5), 38705 ], 
      [ new Date(2013, 10, 12), 38210 ], 
      [ new Date(2013, 10, 13), 38029 ], 
      [ new Date(2013, 11, 19), 38823 ], 
      [ new Date(2013, 11, 23), 38345 ], 
      [ new Date(2013, 11, 24), 38436 ], 
      [ new Date(2013, 11, 30), 38447 ] 
     ]); 

     var chart = new google.visualization.Calendar(document.getElementById('calendar_basic')); 

     var options = { 
     title: "Red Sox Attendance", 
     height: 350, 
     }; 

     chart.draw(dataTable, options); 
    } 
    </script> 
    </head> 
    <body> 
    <div id="calendar_basic" style="width: 1000px; height: 350px;"></div> 
    </body> 
</html> 
+0

пример не не показывает работу. Я второй. Ноябрь и декабрь не работают для Календаря Google. – Khrys

+0

Означает ли это, что вы не видите их в примере jsfiddle? Пожалуйста, уточните, я вижу даты, отмеченные на ноябрь и декабрь. – guival

+1

Да. Я связался с Дэниелом из Google Vis, и он знает об этой проблеме. Это связано с часовым поясом. Я в Бразилии в GMT -3. Он сказал, что скоро будет исправлено. – Khrys

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