Javascript 谷歌图表-注释图表-第一列必须包含日期或日期时间

Javascript 谷歌图表-注释图表-第一列必须包含日期或日期时间,javascript,google-visualization,Javascript,Google Visualization,我正在尝试用谷歌图表绘制注释图表。但是,我得到错误“第一列必须是date或datetime”。例如,如果我将图表类型更改为“面积”或“直线”,则效果很好 这里是最后一个HTML页面的“查看页面源代码”内容的javascript部分,我希望在该页面上绘制一个图形 <script type="text/javascript"> google.load('visualization', '1', {'packages':['annotationchart']});

我正在尝试用谷歌图表绘制注释图表。但是,我得到错误“第一列必须是date或datetime”。例如,如果我将图表类型更改为“面积”或“直线”,则效果很好

这里是最后一个HTML页面的“查看页面源代码”内容的javascript部分,我希望在该页面上绘制一个图形

<script type="text/javascript">
            google.load('visualization', '1', {'packages':['annotationchart']});
            google.setOnLoadCallback(drawChart);
            function drawChart() {
            // Create our data table out of JSON data loaded FROM server.
            var data_1 = google.visualization.arrayToDataTable([['ACTIVITY DATE TIME','ACTIVITY DURATION'],['2015-10-31 02:00:00',503],['2015-11-01 09:26:00',4],['2015-11-01 11:30:00',2],['2015-11-01 19:33:00',2],['2015-11-02 01:15:00',2],['2015-11-02 03:09:00',2],['2015-11-02 07:04:00',2],['2015-11-02 09:47:00',2],['2015-11-02 11:10:00',2]]);

            var options = {
                displayAnnotations: true    
            };

            var chart_1 = new google.visualization.AnnotationChart(document.getElementById('plot1'));
            chart_1.draw(data_1, options);
            }
            ;
        </script>

load('visualization','1',{'packages':['annotationchart']});
setOnLoadCallback(drawChart);
函数绘图图(){
//使用从服务器加载的JSON数据创建我们的数据表。
var data_1=google.visualization.arrayToDataTable([[“活动日期时间”,“活动持续时间],['2015-10-31 02:00:00',503],'2015-11-01 09:26:00',4],'2015-11-01 11:30:00',2],'2015-11-01 19:33:00',2],'2015-11-02 01:15:00',2],'2015-11-02 03:09:00',2],'2015-11-02:07:04:00',2],'2015-11-02:00',2];
变量选项={
displayAnnotations:true
};
var chart_1=新的google.visualization.AnnotationChart(document.getElementById('plot1');
图表1.绘制(数据1,选项);
}
;
我能请你帮我解决这个问题吗?有没有任何需要的打字或任何东西来让这个工作请

更新代码

<script type="text/javascript">
            google.load('visualization', '1', {'packages': ['annotationchart']});
            google.setOnLoadCallback(drawChart);

            function drawChart() {
            // Create our data table out of JSON data loaded FROM server.
            var data_1 = google.visualization.arrayToDataTable([<?php echo (implode(",", $chart_array_1)); ?>]);

            var options = {
                displayAnnotations: true
            };

            var chart_1 = new google.visualization.AnnotationChart(document.getElementById('plot1'));
            chart_1.draw(data_1, options);
            }
            ;

load('visualization','1',{'packages':['annotationchart']});
setOnLoadCallback(drawChart);
函数绘图图(){
//使用从服务器加载的JSON数据创建我们的数据表。
var data_1=google.visualization.arrayToDataTable([]);
变量选项={
displayAnnotations:true
};
var chart_1=新的google.visualization.AnnotationChart(document.getElementById('plot1');
图表1.绘制(数据1,选项);
}
;

是的,您必须将这些
字符串
转换为
日期

var data = [
  ['ACTIVITY DATE TIME', 'ACTIVITY DURATION'],
  ['2015-10-31 02:00:00', 503],
  ['2015-11-01 09:26:00', 4],
  ['2015-11-01 11:30:00', 2],
  ['2015-11-01 19:33:00', 2],
  ['2015-11-02 01:15:00', 2],
  ['2015-11-02 03:09:00', 2],
  ['2015-11-02 07:04:00', 2],
  ['2015-11-02 09:47:00', 2],
  ['2015-11-02 11:10:00', 2]
];

// or var data = [<?php echo (implode(",", $chart_array_1)); ?>]

for(var i = 1; i < data.length; i++)
    data[i][0] = new Date(data[i][0]); // converting strings to Dates

google.load('visualization', '1', {
  'packages': ['annotationchart']
});
google.setOnLoadCallback(drawChart);

function drawChart() {
  // Create our data table out of JSON data loaded FROM server.
  var data_1 = google.visualization.arrayToDataTable(data);

  var options = {
    displayAnnotations: true
  };

  var chart_1 = new google.visualization.AnnotationChart(document.getElementById('plot1'));
  chart_1.draw(data_1, options);
};
var数据=[
[“活动日期时间”、“活动持续时间”],
['2015-10-31 02:00:00', 503],
['2015-11-01 09:26:00', 4],
['2015-11-01 11:30:00', 2],
['2015-11-01 19:33:00', 2],
['2015-11-02 01:15:00', 2],
['2015-11-02 03:09:00', 2],
['2015-11-02 07:04:00', 2],
['2015-11-02 09:47:00', 2],
['2015-11-02 11:10:00', 2]
];
//或var数据=[]
对于(变量i=1;i

你好,克莱顿-非常感谢您的帮助。只是有点棘手的事。我通过PHP(PHP查询数据库并填充数组)获取数据。如何使类型转换与PHP数组“$chart\u array\u 1”中存储的细节一起工作?请您指导我好吗?如果我没有弄错的话,您应该能够将
PHP
查询的结果分配给变量
data
,然后使用JavaScript以相同的方式修改它。请看我在答案中的评论。这很酷。让它起作用。非常感谢你。但这张图并没有被绘制出来。与JSFIDLE中的问题相同。我得到一个错误[jc]不是一个函数。我不确定这个错误是什么意思,我认为它与您正在运行的其他代码有关。JSFIDLE在我这边有效,你确定它对你无效吗?你是对的。这是firefox的问题。Chrome的工作非常出色。再次非常感谢。谢谢你的帮助。