Javascript 谷歌图表:“;无法读取属性';getTime';“无效”的定义;当我只有一行数据时

Javascript 谷歌图表:“;无法读取属性';getTime';“无效”的定义;当我只有一行数据时,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我正在使用谷歌图表生成带有javascript的图表。当我在数据数组中设置多行数据时,它可以正常工作,但当我只有一行数据时,它就不起作用了。然后我得到错误“无法读取null的属性'getTime' 此阵列工作正常: [ ["Date", "Amount"] [Wed Oct 20 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 9576] [Wed Oct 21 2019 00:00:00 GMT+200 (Mitteleu

我正在使用谷歌图表生成带有javascript的图表。当我在数据数组中设置多行数据时,它可以正常工作,但当我只有一行数据时,它就不起作用了。然后我得到错误“无法读取null的属性'getTime'

此阵列工作正常:

[

 ["Date", "Amount"]

 [Wed Oct 20 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 9576]

 [Wed Oct 21 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 4810]

 [Wed Oct 22 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 5058]

 [Wed Oct 23 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 5381]

]
此阵列不工作:

[

 ["Date", "Amount"]

 [Wed Oct 16 2019 00:00:00 GMT+200 (Mitteleuropäische Sommerzeit), 51099]

]
当然,日期是一个日期对象

//设置图表样式
开关(图表样式){
“里宁”案:
load('current',{packages:['corechart'],'language':'de'});
打破
案例“timeseries”:
load('current',{packages:['annotationchart'],'language':'de'});
打破
“垃圾邮件”案例:
load('current',{packages:['corechart'],'language':'de'});
打破
“tabelle”案:
load('current',{packages:['table'],'language':'de'});
打破
违约:
load('current',{packages:['corechart'],'language':'de'});
}
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable(dataArray);
变量选项={
是的,
动画:{
持续时间:600,
“出去”,
启动:正确
},
//主题:"材料",,
curveType:'函数',
图例:{位置:'右'},
hAxis:{标题:hAxisTitle,格式:hAxisFormat},
变量:{标题:“Besuchermenge für Abfrage”,最小值:0,最大值:0},
点数:5,
系列:{
0:{颜色:'#1f4e79'},
1:{color:'#FF8C00'},
},
探索者:{
轴:'水平',
keepInBounds:错,
maxZoomIn:0.1,
maxZoomOut:4
},
语言:“德”
};
开关(图表样式){
“里宁”案:
var chart=new google.visualization.ComboChart(document.getElementById('chart_div'));
打破
案例“timeseries”:
var chart=new google.visualization.AnnotationChart(document.getElementById('chart_div'));
打破
“垃圾邮件”案例:
var chart=new google.visualization.ColumnChart(document.getElementById(“chart_div”);
打破
“tabelle”案:
var chart=新的google.visualization.Table(document.getElementById(“chart_div”);
打破
违约:
var chart=new google.visualization.ComboChart(document.getElementById('chart_div'));
}
图表绘制(数据、选项);
}
因为我需要至少10个声誉来发布图片,所以我只能发布屏幕截图的链接

工作阵列的屏幕截图:

工作图表的屏幕截图:

无法工作的阵列的屏幕截图:

包含不工作数组的图表的屏幕截图:


<>我希望图表能显示中间的一个列,其中的日期作为X轴标签。

< P>这看起来像某种bug。 作为一种解决方法,您可以检查行数,
如果只有一行,则向数据表中添加一个空行。
这将允许正确绘制图表。
您可能还想添加一个勾号,否则它只会显示广泛的年份范围

var ticks = null;
if (data.getNumberOfRows() === 1) {
  data.addRow([null, null]);
  ticks = [data.getValue(0, 0)];
}
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data=google.visualization.arrayToDataTable([
[“日期”、“金额”],
[新日期(2019年9月16日)51099]
]);
var=null;
if(data.getNumberOfRows()==1){
data.addRow([null,null]);
ticks=[data.getValue(0,0)];
}
console.log('abc');
变量选项={
是的,
动画:{
持续时间:600,
“出去”,
启动:正确
},
//主题:"材料",,
curveType:'函数',
图例:{位置:'右'},
hAxis:{title:'title',格式:'MM/dd/yy',ticks:ticks},
变量:{标题:“Besuchermenge für Abfrage”,最小值:0,最大值:0},
点数:5,
系列:{
0:{颜色:'#1f4e79'},
1:{color:'#FF8C00'},
},
探索者:{
轴:'水平',
keepInBounds:错,
maxZoomIn:0.1,
maxZoomOut:4
},
语言:“德”
};
var chart=new google.visualization.ColumnChart(document.getElementById(“chart_div”);
图表绘制(数据、选项);
});

请提供JSFIDLE/codepen或类似格式的示例,并指定图表库版本,以便社区更容易帮助您解决问题