![](/img/trans.png)
[英]Google chart: “Uncaught (in promise) Error: Unknown header type: 4.7278” error
[英]Unable to read Data Array. Getting: Uncaught Error: Unknown type of column header: 1
我正在從谷歌表中獲取數據表,但餅圖無法讀取數組。 我在控制台上遇到以下錯誤。
未捕獲的錯誤:未知類型的列標題:1
我正在使用以下腳本從 Google 電子表格中獲取數據。
代碼.gs:
function vodPiechart() {
const ss = SpreadsheetApp.openById("");
const sw = ss.getSheetByName("Pie_Chart_Data");
var data = sw.getRange (1,1,3, 2).getValues();
return data
}
HTML 腳本( 來自 Google Charts )
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(getData);
function getData(){
google.script.run.withSuccessHandler(drawChart).vodPiechart();
}
function drawChart(dataReturened) {
var data = google.visualization.arrayToDataTable(dataReturened);
console.log(dataReturened);
var options = {
title: 'My Channel',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
chart.draw(data, options);
}
</script>
返回數據的控制台.log:
Array(3) [ (2) […], (2) […], (2) […] ]
0: Array [ "Task", "Views" ]
1: Array [ "Channel A", 2854170 ]
2: Array [ "CHannel B", 240222 ]
length: 3
<prototype>: Array []
誰能告訴我,我在這里做錯了什么?
謝謝你
關於數據的某些事情是不正確的。
當數據中不存在列標題時,會拋出您收到的錯誤消息。
或者列標題的值不是字符串。
未捕獲的錯誤:未知類型的列標題:1
在這種情況下,數字1
試圖用作列標題。
看下面的例子,會拋出下面的錯誤。
未捕獲的錯誤:未知類型的列標題:2854170
google.charts.load('current', {
packages:['corechart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
["Channel A", 2854170],
["Channel B", 240222],
]);
var options = {
title: 'My Channel',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
chart.draw(data, options);
});
arrayToDataTable
方法有第二個布爾參數。
當設置為true
,它將創建沒有列標題的數據表,
並使用第一行作為數據。
var data = google.visualization.arrayToDataTable([
["Channel A", 2854170],
["Channel B", 240222],
], true); // <-- first row is data
餅圖中的列標題真的沒有用,
因為每行都提供了標簽。
嘗試添加用於解析的布爾參數。
請參閱以下工作片段...
google.charts.load('current', { packages:['corechart'] }).then(function () { var data = google.visualization.arrayToDataTable([ ["Channel A", 2854170], ["Channel B", 240222], ], true); var options = { title: 'My Channel', is3D: true, }; var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); chart.draw(data, options); });
<script src="https://www.gstatic.com/charts/loader.js"></script> <div id="piechart_3d"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.