Google Vis:无效的数据表格式:必须包含3或4个数据列

时间:2014-08-19 12:28:55

标签: charts google-visualization

我想在同一时间轴上可视化两个以上的时间表。我添加了两次作为cols: Label,Start_time,end_time ,我还添加了行作为精确变量。之后,我在输出中收到以下错误消息:

Invalid data table format: must have 3 or 4 data columns.

更新http://i.stack.imgur.com/JFZYU.png

1 个答案:

答案 0 :(得分:1)

哦,我明白了。要在同一行中有多个时间表,您需要使用4列:第一列具有列的名称,第二列具有时间表的名称,第三列具有start_time,第四列具有end_time。这是一个考虑您的图像的示例,但您需要更改日期:

  var dataTable = new google.visualization.DataTable();
  dataTable.addColumn({ type: 'string', id: 'Room' });
  dataTable.addColumn({ type: 'string', id: 'Name' });
  dataTable.addColumn({ type: 'date', id: 'Start' });
  dataTable.addColumn({ type: 'date', id: 'End' });
  dataTable.addRows([
    [ 'Magnolia Room',          'CSS Fundamentals', new Date(1789, 3, 29), new Date(1797, 2, 3)],
    [ 'Magnolia Room',          'Intro Javascript',        new Date(1797, 2, 3),  new Date(1801, 2, 3)],
    [ 'Magnolia Room',          'Advanced Javascript',  new Date(1801, 2, 3),  new Date(1809, 2, 3)],
    [ 'Gladiolus Room',     'Intermediate Perl',        new Date(1789, 3, 20), new Date(1797, 2, 3)],
    [ 'Gladiolus Room',     'Advanced Perl',  new Date(1797, 2, 3),  new Date(1801, 2, 3)],
    [ 'Gladiolus Room',     'Applied Perl',        new Date(1801, 2, 3),  new Date(1805, 2, 3)],
    [ 'Petunia Room',     'Google Charts',    new Date(1805, 2, 3),  new Date(1812, 3, 19)],
    [ 'Petunia Room', 'Closure',          new Date(1789, 8, 25), new Date(1790, 2, 21)],
    [ 'Petunia Room', 'App Engine',  new Date(1790, 2, 21), new Date(1793, 11, 30)]
    ]);

从这个例子中得到了这个:Google TimeLine Advanced Example