2017-05-11 183 views
1

我有谷歌圖表庫的問題。 Actualy,我試圖顯示日期時間數據的時間圖,所以這裏是我的小提琴:Google chart「Can not read property'datefield'of undefined」for datetime

google.charts.load('current', { 'packages': ['timeline'] }); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 
function drawChart() { 
 
    var container = document.getElementById("occupancyChart"); 
 
    var chart = new google.visualization.Timeline(container); 
 
    var jsonData = { 
 
     "cols": [ 
 
     { 
 
      "id": "Sensor_name", 
 
      "type": "string" 
 
     }, 
 
     { 
 
      "id": "Start", 
 
      "type": "datetime" 
 
     }, 
 
     { 
 
      "id": "End", 
 
      "type": "datetime" 
 
     } 
 
     ], 
 
     "rows": [ 
 
     { 
 
      "c": [ 
 
      { 
 
       "v": "Capteur" 
 
      }, 
 
      { 
 
       "v": "1789-04-29T22:00:00.000Z" 
 
      }, 
 
      { 
 
       "v": "1798-05-26T22:00:00.000Z" 
 
      } 
 
      ] 
 
     } 
 
     ] 
 
    }; 
 
    
 
    var dataTable = new google.visualization.DataTable(
 
     jsonData 
 
    ); 
 

 
    chart.draw(dataTable); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<body> 
 
    <div id="occupancyChart"></div> 
 
</body>

事實上,jsonData不存在,這是一個Ajax請求,但它工作,我得到了我的數據在網頁上。

我試圖按照API,所以通過使用在列中的日期時間類型,我試圖在文檔使用的格式:

  • RFC 2822 - 2014年12月6日10點30分00秒-0800。
  • ISO 8601 - 2014-12-06T10:30:00-0800。

但是用ISO 8601,同樣的麻煩。任何建議?

編輯:

與調試器,當我通過一個日期對象修改數據,everithing工作

回答

1

1)加載從JSON的數據表時使用以下格式...

"Date(Year, Month, Day, Hours, Minutes, Seconds, Milliseconds)" 

eg

"Date(2017, 4, 3, 7, 31, 49, 0)" // <-- 05/03/2017 07:31:49 

注:上面的字符串必須有一個月的一個,而不是所有的都需要的參數減少...

看到Dates and Times - Using the Date String Representation ...


見下工作片斷...

google.charts.load('current', { 'packages': ['timeline'] }); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 
function drawChart() { 
 
    var container = document.getElementById("occupancyChart"); 
 
    var chart = new google.visualization.Timeline(container); 
 
    var jsonData = { 
 
     "cols": [ 
 
     { 
 
      "id": "Sensor_name", 
 
      "type": "string" 
 
     }, 
 
     { 
 
      "id": "Start", 
 
      "type": "datetime" 
 
     }, 
 
     { 
 
      "id": "End", 
 
      "type": "datetime" 
 
     } 
 
     ], 
 
     "rows": [ 
 
     { 
 
      "c": [ 
 
      { 
 
       "v": "Capteur" 
 
      }, 
 
      { 
 
       "v": "Date(2017, 4, 10, 7, 16, 30)" 
 
      }, 
 
      { 
 
       "v": "Date(2017, 4, 11, 7, 12, 43)" 
 
      } 
 
      ] 
 
     } 
 
     ] 
 
    }; 
 

 
    var dataTable = new google.visualization.DataTable(
 
     jsonData 
 
    ); 
 

 
    chart.draw(dataTable); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="occupancyChart"></div>

+0

是的,這是問候,謝謝 –

+0

謝謝。有了這個答案,我可以意識到這個問題出現後,我用nesCarbon實例化日期。我用'parseInt()'在Date()裏面解決了它 – Pathros

相關問題