如何在Google图表的X轴上显示超过一年的注释时间轴?

时间:2011-10-31 18:48:40

标签: google-visualization

我正在使用Google's Annotated Time Line工具绘制超过两年的数据,例如2010年和2011年。

x轴上的时间轴仅显示2011年的条目。它会跳过2010年的所有值。 以下面的数据表为例:

  var data = new google.visualization.DataTable();
  data.addColumn('date', 'Date');
  data.addColumn('number', 'Mac Client');
  data.addColumn('number', 'Win Client');
  data.addColumn('number', 'Total');
  data.addRows(7)

    data.setValue(0, 0, new Date(2010, 12, 16, 11, 0, 0, 0)); 
    data.setValue(0, 1, 0); 
    data.setValue(0, 2, 1); 
    data.setValue(0, 3, 1); 

    data.setValue(1, 0, new Date(2010, 12, 24, 16, 0, 0, 0)); 
    data.setValue(1, 1, 0); 
    data.setValue(1, 2, 5); 
    data.setValue(1, 3, 5);

    data.setValue(2, 0, new Date(2010, 12, 16, 12, 0, 0, 0)); 
    data.setValue(2, 1, 0); 
    data.setValue(2, 2, 19); 
    data.setValue(2, 3, 19);

    data.setValue(3, 0, new Date(2011, 3, 30, 2, 0, 0, 0)); 
    data.setValue(3, 1, 0); 
    data.setValue(3, 2, 17); 
    data.setValue(3, 3, 17); 

    data.setValue(4, 0, new Date(2011, 4, 11, 13, 0, 0, 0)); 
    data.setValue(4, 1, 0); 
    data.setValue(4, 2, 37); 
    data.setValue(4, 3, 37); 

    data.setValue(5, 0, new Date(2011, 10, 2, 0, 0, 0, 0)); 
    data.setValue(5, 1, 1); 
    data.setValue(5, 2, 21); 
    data.setValue(5, 3, 22); 

    data.setValue(6, 0, new Date(2011, 4, 19, 2, 0, 0, 0)); 
    data.setValue(6, 1, 0); 
    data.setValue(6, 2, 6); 
    data.setValue(6, 3, 6); 

结果图表从2011年开始,而不是2010年。Google code playground

我怎样才能包含2010年的数据点呢?

该图表于2011年11月2日结束,尽管我的最后一个数据点是2011年10月2日。如何使图表的x轴在10月30日结束。

1 个答案:

答案 0 :(得分:2)

JavaScript Date对象的'month'值被索引为0(即:0 = 1月,1 = 2月),所以现在一切都是一个月。

更改

new Date(2011, 10, 2, 0, 0, 0, 0)); 

new Date(2011, 9, 2, 0, 0, 0, 0)); 

全面而且你应该得到你想要的东西!