2013-12-19 80 views
0

這裏谷歌圖表折線圖是我的數據:選項來創建具有註釋

dataToDisplay=[[156,"2013-12-01","note one"], 
       [206,"2013-12-02","note two"], 
       [280,"2013-12-03","note three"], 
       [320,"2013-12-04","note four"], 
       [0,"2013-12-05",""]] 

這裏是做一個折線圖的代碼:

chartData = new google.visualization.DataTable(); 
chartData.addColumn('number', 'Miles'); 
chartData.addColumn('string', 'Date'); 
chartData.addColumn({type:'string', role:'annotationText'}); 
chartData.addRows(dataToDisplay); 

graphTitle = 'Mileage'   
var options = { 
     title: graphTitle, 
     height:600 
}; 

var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
chart.draw(chartData, options); 

和錯誤:

"Data column(s) for axis #0 cannot be of type string" 

我不知道發生了什麼。哪一列是軸#0?

此外,有沒有建立與使用類似的註釋折線圖的方式:

var chartData = google.visualization.arrayToDataTable(dataArray); 

如果是這樣,怎麼會dataArray中必須構建?

回答

1

LineChart只接受字符串作爲註釋列或域列。第一列是域列,並且註釋列必須如此指定。在你的情況下,「日期」列導致了問題,因爲它是第二列,因此預計是數據(「數字」類型)列或註釋列。您沒有將其指定爲註釋列,這就是您遇到錯誤的原因。

您打算讓日期成爲註釋或值嗎?如果他們的目的是價值觀,就必須把它們放在第一列:

chartData = new google.visualization.DataTable(); 
chartData.addColumn('string', 'Date'); 
chartData.addColumn('number', 'Miles'); 
chartData.addColumn({type:'string', role:'annotation'}); 

爲了使用「annotationText」數據作用下,前述列必須是一個「註解」的角色列。 「註釋」角色在關聯數據點的圖表上創建文本標籤,「annotationText」角色創建工具提示以顯示用戶何時懸停在標籤上。

+0

工作就像一個魅力!謝謝。 – user1126515